 |
|
Проблема с переменной
Проблема заключается в том, что некорректно работает третий блок кода, а всё потому что перед этим в ИКСЕ находится только первое слово.
Как это исправить?
Код:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<locale.h>
#include<iostream>
int main()
{
setlocale (LC_ALL, "Rus");
char x[100], *p;
int i,d=0,k=1,a=0,b=0,c=0,sum=0,max=0,min=0;
printf("Введите текст : ",x);
strset (x,'\0');
gets(x);
//1
for (i=0; x[i]!='\0'; i++)
d++;
for (i=1; i<d; i++) if (x[i]==' ' && x[i+1]!=' ')
k++;
printf("Количество слов = %d",k);
printf("\n");
//2
printf("Отредактированный текст : ");
for(p = strtok(x, " "); p; p =strtok(NULL, " "))
printf("%s ", p);
//3
printf("\n");
printf("Слово с наибольшим количеством гласных букв : ");
int wordEndIndex = 0;
int largestWordIndex = 0;
{
int max = 0;
int wordStartIndex = 0;
int count = 0;
for (int i = 0; x[i] != '\0'; i++)
{
if (x[i] == ' ')
{
count = 0;
wordStartIndex = i + 1;
}
if(x[i] == 'a' || x[i] == 'u' || x[i] == 'i' ||
x[i] == 'o' || x[i] == 'e' || x[i] == 'A' ||
x[i] == 'U' || x[i] == 'I' || x[i] == 'O' || x[i] == 'E' )
{
count++;
}
if(++count > max)
{
max = count;
largestWordIndex = wordStartIndex;
wordEndIndex = i + 1;
}
}
for (int i = largestWordIndex; i < wordEndIndex; i++)
{
printf("%c",x[i]) ;
}
}
getch();
return 0;
}
|
вот так вроде
Код:
printf("Введите текст : %s",x);
//strset (x,'\0');
|
нет, всё равно не работает.
|
Время: 16:24.
© OSzone.net 2001-