Показать сообщение отдельно

Поиск самого длинного и самого короткого слова
  #10  
Старый 22.12.2009, 00:02
Semus
Новичок
Регистрация: 27.03.2009
Сообщений: 12
С нами: 9013169

Репутация: 0
Post Поиск самого длинного и самого короткого слова

Здравствуйте, помогите мне пожалуйста.
Необходимо на С реализовать следующую программу: из введенной пользователем строки выбрать самое длинное и самое короткое слово.

У меня есть свои попытки решения данной задачи, вот один из примеров:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char  stroka[300];
    gets (stroka);

    int dlin_min=strlen(stroka); // хранит длинну минимальной строки, пока равна длинне всей строки
    int dlin_max=0; //хранит максимальную длинну строки
    int dlin_tek=0; //хранит текущую длинну строки

    char stroka_min[300]; //строка хранящая минимальное слово
    char stroka_max[300];// строка хранящая максимальное слово
    char stroka_tek[300]; // строка хранящая текущее слово

    for (int i=0; i<strlen(stroka); i++)
    {
 printf ("i= %d\n", i);
        switch (int(stroka [i]))
        {
            case 32  :{
                              if  (dlin_tek>dlin_max) {
                                                                        for (int j=0; j<dlin_tek; j++)
                                                                        {
                                                                        printf ("j= %d\n", j);
                                                                        stroka_max[j]=stroka_tek[j];
                                                                        };
                                                                        dlin_max=dlin_tek;
                                                                        };
                              if (dlin_tek<dlin_min) {
                                                                        for (int j=0; j<dlin_tek; j++)
                                                                        {
                                                                        printf ("j2= %d\n", j);
                                                                        stroka_min[j]=stroka_tek[j];
                                                                        };
                                                                        dlin_min= dlin_tek;
                                                                        };
                              dlin_tek=0;
                              break;
                              }

            default:
            {
                stroka_tek[i]=stroka[i];
                dlin_tek=strlen(stroka_tek);
            };
        };
    };

printf ("minslovo= %s\n", stroka_min);
printf ("maxslovo= %s\n", stroka_max);
    return EXIT_SUCCESS;
}
Но после нескольких неудачных попыток я понял, я что со стороками у меня все глухо.Заведомо благодарю всех откликнувшихся
 
Ответить с цитированием