
12.12.2006, 17:24
|
|
Новичок
Регистрация: 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();
}
|
|
|