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

  #7  
Старый 12.12.2006, 17:24
Anium
Новичок
Регистрация: 04.12.2005
Сообщений: 10
Провел на форуме:
90416

Репутация: 1
По умолчанию

вот я для первой лабы набросал немного, но никак не получу ответ в таком виде:
-----------------------------------
самое длинное слово: ...
самое коротко слово: ...

Код:
#include <iostream.h>
#include <stdio.h>
#include <vcl.h>
void main (int arg_cou, char** arg_cnt)
{
char str [200], *cp, *lng;
int i, maxlen, curlen;
char c;

// вводим слова
for (i=0; i < (sizeof(str)-2); i++)
{ c = getchar();
  if (c == '\n') break;
  str[i] = c;
}
str [i] = ' ';
str [i+1] = 0x00;

cp = lng = str;
maxlen = 0;
for (i=0; str[i]; i++)
{ if (str[i] == ' ') // слово кончилось
   { if (*cp == ' ')   // пробросить группу пробелов
      { cp = str+i; continue; }
     curlen = (str+i) - cp;
     if (curlen > maxlen)  // это слово длиннее ?
      { maxlen = curlen; lng = cp; }
     str[i] = 0x00;
     printf("<%s> %2d %2d\n", cp, curlen, maxlen); // отладка
     cp = str + i + 1;
   }
  else // не кончилось
   { if (*cp == ' ') cp = str + i;
   }
}

printf("самое длинное слово <%s>\n", lng);
getchar();
}
 
Ответить с цитированием