31.03.2016, 15:19
|
#21
|
Регистрация: 26.02.2016
Сообщений: 9
|
Цитата:
Сообщение от wordman
Код:
#include <stdio.h>
#include <string.h>
int main()
{
char ishod[100], predl1[100]="", predl2[100]="", slovo[100]="", big_slovo[100]="", slovo2[100]="", ch1, ch;
int l_ishod, end1=0, end2=0, l_pred1=0, l_pred2=0, i, j, l_big=0, l_slovo=0, newslovo=1, slova_sovpali=0, i_slova=0, l_slovo2=0, est_big_slovo=0;
puts("Vvedite predlogeniy!");
gets(ishod);
l_ishod=strlen(ishod);
//----------------------------------ðàçáèâêà ñòðîêè ââîäà íà 2 ïðåäëîæåíèÿ
for (i=0;i<=l_ishod; i++)
{
if (ishod[i]=='.' || ishod[i]=='!' || ishod[i]=='?')
{
if (end1==0)
{
end1=i;
predl1[i]=ishod[i];
predl1[i+1]='\0';
}
else
{
predl2[end2]=ishod[i];
predl1[end2+1]='\0';
end2=i+1;
break;
}
}
if (end1==0) predl1[i]=ishod[i];
else if (ishod[i]!='.' && ishod[i]!='!' && ishod[i]!='?') predl2[end2++]=ishod[i];
}
//--------------------------------------------------
l_slovo=0;
for (i=0; i<=end1; i++)
{//ïðîõîæó ïåðâîå ïðåäëîæåíèå ïî âñåì ñëîâàì
ch=predl1[i];
if (ch==' ' || ch==',' || ch=='.' || ch=='!' || ch=='?' || ch==':' || ch==';')
{//------------------åñëè ñëîâî çàêîí÷èëîñü
slovo[l_slovo]='\0';
//--------------------------------------------
if (l_slovo>l_big)
{//ñëîâî ìîæåò îêàçàòüñÿ ñàìûì áîëüøèì
//-----------èùó â predl2
j=0;
slova_sovpali=0;
while (j<=end2-l_slovo && !slova_sovpali)
{//èùó ñëîâà âî 2ì ïðåäëîæåíèè
ch1=predl2[j++];
if (ch1==' ' || ch1==',' || ch1=='.' || ch1=='!' || ch1=='?' || ch1==':' || ch1==';' || ch1=='\0')
{//åñëè êîíåö ñëîâà
slovo2[l_slovo2]='\0';
if (strcmp(slovo, slovo2)==0)
{
slova_sovpali=1;
est_big_slovo=1;
l_big=l_slovo;
strcpy(big_slovo, slovo);
}else{
l_slovo2=0;
}
}else{
slovo2[l_slovo2++]=ch1;
}
}
}
l_slovo=0;
}else
{
slovo[l_slovo++]=ch;
}
}
puts("Big word:");
if (est_big_slovo){
puts(big_slovo);
}else{
puts("Net odinakovih slov!");
}
}
Этот вариант вроде на всех примерах прошёл.
ps: малёхо стыдно за недостаточное тестирование перед первым выкладыванием.
|
Спасибо) я разобрался хоть более менее с темой
|
|
|