Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Проблема с переменной

Ответить
Настройки темы
C/C++ - Проблема с переменной

Новый участник


Сообщения: 14
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: pashazt
Дата: 25-11-2012
Проблема заключается в том, что некорректно работает третий блок кода, а всё потому что перед этим в ИКСЕ находится только первое слово.
Как это исправить?
Код: Выделить весь код
#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;
    }

Отправлено: 23:32, 24-11-2012

 

Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


вот так вроде

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

Отправлено: 09:50, 25-11-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 14:55, 25-11-2012 | #3


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


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

Отправлено: 18:16, 25-11-2012 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Проблема с переменной

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] VBS - If условие Ragnazar Скриптовые языки администрирования Windows 2 02-09-2012 05:16
Употребление памяти увеличивается до максимума Jinker Microsoft Windows NT/2000/2003 14 02-08-2010 15:37
C/C++ - Условие выбора ShadowMas Программирование и базы данных 4 22-02-2009 21:42
Привод не раскручивается до максимума rai978 Оптические приводы 6 20-10-2008 07:25
Опасно-ли разгонять AMD Athlon до максимума? IIPOCTO MAKC Процесcоры 18 30-12-2005 17:47




 
Переход