Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2009, 14:37   #21
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
Да нет, линковщик как раз ругается на то, что функция объявлена (поэтому компилятор ее пропустил), но не определена. Что вообще она должна делать?
А я что написал? о_О
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Старый 26.12.2009, 16:13   #22
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Ну это я к тому, что ответ на вопрос из второй строки (если я его правильно понял...) - в первой!
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 26.12.2009, 20:52   #23
MR_Andrew
Форумчанин
 
Регистрация: 05.10.2009
Сообщений: 100
По умолчанию

Фух... Выседел до конца дня... Преподаватель согласился мне помочь

В итоге вышла вот такая ужасная штука
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int myfunc (char* strtemp)
  {
  char *pTmp = strtemp;
  int k = 0;


  while( *pTmp != '\0' )
    {
    switch( *pTmp )
      {
      case 'a': case 'e': case 'i': case 'j':
      case 'o': case 'u': case 'y': k++;
      }

    pTmp++;
    }

  return k;
  }






int main ()

{

   int i;
   int M[100];
   int max;


char str[]="testing text jkjhkhj";
char str2[100];
strcpy (str2,str);
int n=0;

char *words[100];
char *ps=str2;

	words[0]=str2;

	n=1;

	while (*ps !='\0')
	  {
	  if(*ps==' ')
	    {
	    words[n]=(ps+1);
	    *ps='\0';
	    n++;
	    }

	  ps++;
	  }






int k;

for (i=0; i<n; i++)
     {

     ps = words[i];

     k=myfunc(ps);


     M[i] =k;


     printf ("%s\n", words[i]);
     printf ("%d\n", k);
     }


    max = 0;

    for (i=1; i<k; i++)
       {
       if(M[i]>M[max])
	 max=i;
       }


     printf ("---\n%d\n", M[max]);
     printf ("%s\n", words[max]);


     getchar ();
     return 0;
}
Дело за "малым" - прокомментировать весь код и сделать блок-схему. Ну комментарий я сам написать могу, так как полностью понял как работает (именно как работает, а почему - нет).. Но блок схема... Если кому-то не сложно, то напишите, пожалуйста!!!! Просто тупо карандашом на листке и пришлите мне
Буду ОЧЕНЬ благодарен!!!!
MR_Andrew вне форума Ответить с цитированием
Старый 27.12.2009, 00:29   #24
MR_Andrew
Форумчанин
 
Регистрация: 05.10.2009
Сообщений: 100
По умолчанию

Комментарии написал. Если кому не сложно (и кто владее украинским языком) - проверьте, пожалуйста

Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int myfunc (char* strtemp)		// Оголошення власної фунцкії та її коду.
  { 					// Ціль - окрема підпрограмма для пошуку
  char *pTmp = strtemp;			// голосних літер в окремих словах та
  int k = 0;				// підрахування їх кількості


  while( *pTmp != '\0' )		// Пошук голосних літер у циклі та
    {					// знаходження їх кількості
    switch( *pTmp )
      {
      case 'a': case 'e': case 'i': case 'j':
      case 'o': case 'u': case 'y': k++;
      }

    pTmp++;
    }

  return k;
  }






int main ()

{

   int i;			     // Оголошуємо змінні
   int M[100];
   int max;


char str[]="testing text jkjhkhj";   // Текст для тестування
char str2[100];			     // Оголошення змінної str2, максимальна довжина
			             // якої 100 символів
strcpy (str2,str);		     // Копіювання тексту з str до str2
int n=0;

char *words[100];		     // Оголощенная нової знінної з вказівником *words
char *ps=str2;			     // Присвоєння значення str2 вказівнику *ps

	words[0]=str2;		     // У циклі розбиваємо задане речення на окремі
				     // слова, заповнюємо ними одновтмірний масив.
	n=1;			     // Слова відокремлюємо за допомогою пошуку
 				     // пробілів. Цикл перебирає символи, доходить
	while (*ps !='\0')	     // до " ", і заповнює масив відокремленими
	  {			     // елементами, нарощує їх кількість.
	  if(*ps==' ')
	    {
	    words[n]=(ps+1);	     // Массив words буде заповнений словами з 
	    *ps='\0';		     // тестового речення
	    n++;		     // n - лічільник елементів. Знаходимо к-ть слів.
	    }

	  ps++;
	  }






int k;

for (i=0; i<n; i++)		     // Застосовуємо цикл для всіх елементів масиву
     {

     ps = words[i]; 		     // ps по черзі присвоюєно значення кожного 
				     // елемента масиву
     k=myfunc(ps);		     // застосовуємо створену раніше функцію
				     // myfunc для обчислення кількості голосних
				     // у кожному елементі масиву
     M[i] =k;			     // Створюємо ще один одновимірний масив М, 
				     // присвоюємо йому значення кількості голосних
				     // елеметнів масиву слів words
  
     printf ("%s\n", words[i]);	     // Виводимо окремо слова і кількість голосних
     printf ("%d\n", k);	     // у кожному слові
     }
		     // Виконуємо пошук слова з найбільшою кількістю голосних букв.

    max = 0;			     // Змінній max присвоюємо значення "0".

    for (i=1; i<k; i++)		     // Для всіх елементів масиву перевіряємо умову:
       {			     // якщо елемент масиву M[i] більший за значення
       if(M[i]>M[max])		     // M[max], то зманній max присвоюємо нове 
	 max=i;			     // значення більшого елементу.  
       }

     printf ("Vivedenn9 informacii pro slovo z naib. kil'kistu golosnih\n");
     printf ("---\n%d\n", M[max]);   // Виводимо на екран слово з найб. к-тю голосних
     printf ("%s\n", words[max]);    // та саме значення


     getchar ();
     return 0;

}
P.S. Просьба с блок-схемой остается в силе....
MR_Andrew вне форума Ответить с цитированием
Старый 27.12.2009, 20:59   #25
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Вот Ваш алгоритм. Но больше делать не буду. Учитесь Сами. Прежде чем писать программу необходимо составить алгоритм. Хороший алгоритм - это около 80% решенной задачи.
Вложения
Тип файла: doc Doc1.doc (485.5 Кб, 24 просмотров)
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 30.12.2009, 03:44   #26
MR_Andrew
Форумчанин
 
Регистрация: 05.10.2009
Сообщений: 100
По умолчанию

Sweta
Огромное спасибо
Но я еще вчера сделал и уже сдал на "А"
Но все-равно огромное спасибо!
MR_Andrew вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка символьных данных и текстовых файлов Skrip Общие вопросы C/C++ 13 10.06.2009 20:51
Pascal. Обработка символьных данных. NitriNKa Помощь студентам 3 25.04.2009 15:15
Обработка символьных данных Normand Паскаль, Turbo Pascal, PascalABC.NET 6 13.04.2009 17:32