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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2013, 16:51   #1
Toxa16
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 13
По умолчанию Непонятно, как работает код

Программа ищет в строке самое длинное слово:
Код:
#include<stdio.h>
#include<conio.h>

int main()
            {
           char str[79];
               char nac, kon, lmax, i, k, n;
               i=k=lmax=n=0;
               printf("введи строку:\n");
                  while((str[n++]=getchar())!='\n');
                     for(i=0;i<n;i++)
                        {
                            if(str[i] !=' ' && str[i] !='\t' && str[i] != '\n')
                               k++;
                           else
                              {
                                if(lmax<k)
                                  {
                                      lmax=k;kon=i;
                                  }
                               k=0;
                             }
                      }
               nac=kon-lmax;
               kon-=1;
               for(i=nac;i<=kon;i++)
               printf("%c", str[i]);
               printf("\n");
               printf("%d %d %d \n", nac, kon, lmax);
			   getch();
			   return 0;
            }
Не понятно, как работает код, прокомментируйте, пожалуйста!
Toxa16 вне форума Ответить с цитированием
Старый 19.02.2013, 17:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Программа проходит по каждому символу. Если встречается очередной пробел, программа смотрит сколько пройдено символов и записывает их в переменку. При следующей встрече пробельного символа программа сверяется с записанным и если оно меньше того что на этот раз, предидущее значение заменяется на это.
Т.е. от пробела до пробела прога считает кол-во символов и запоминает максимальное из них число.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните как работает код _ROBERT_ Помощь студентам 0 12.12.2012 02:24
как работает код datgen Помощь студентам 1 09.12.2012 22:21
Подсобите разобрать код. Непонятно, что в нём происходит.. farewe11 Помощь студентам 1 11.06.2010 01:31
Прога не работает как надо - код С NightManiak Помощь студентам 2 21.01.2010 08:15
Паскаль. рекурсия. числа. объясните, как работает код [silver beast] Помощь студентам 2 21.01.2009 05:00