Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Проблема с переменной (http://forum.oszone.net/showthread.php?t=247632)

pashazt 24-11-2012 23:32 2032158

Проблема с переменной
 
Проблема заключается в том, что некорректно работает третий блок кода, а всё потому что перед этим в ИКСЕ находится только первое слово.
Как это исправить?
Код:

#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;
    }


ferget 25-11-2012 09:50 2032316

вот так вроде

Код:

printf("Введите текст :  %s",x);
//strset (x,'\0');


pashazt 25-11-2012 14:55 2032487

нет, всё равно не работает.

ferget 25-11-2012 18:16 2032594

Что именно не работает?


Время: 16:24.

Время: 16:24.
© OSzone.net 2001-