Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
#1

Определить процент слов в тексте, которые имеют удвоенную согласную - C++

27.05.2012, 20:49. Просмотров 790. Ответов 7
Метки нет (Все метки)

Определить процент слов в тексте, которые имеют удвоенную согласную.
вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "");
    int i, j, h=1, k=0,indn=0, indk;
    double p;
    char str[250],c=' ';
    puts("Введите строку:");
    gets(str);
    do
    {
       while (str[i]!=' ')
       {
           if(str[i]=='\0') break;
           i++;
       }   
       indk=i;h++;
       for(j=indn;j<indk;j++)
       {
           if(str[j]==str[j+1]) 
               k++;
       }
       indn=indk+1;
       i=indn;
    } 
    while(str[i]!='\0');    
    puts("Кол-во слов с повторением букв - ");
    cout<<k<<endl;  
    puts("Кол-во слов - ");
    cout<<h-1<<endl;
    p=(100/(h-1))*k;
    cout<<p<<puts("% слов с повторением букв = ");
    getch();
}
Работать должно как на скринах!
Выдает ошибку(
The variable 'i' is being used without being initialized
Изображения
  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2012, 20:49     Определить процент слов в тексте, которые имеют удвоенную согласную
Посмотрите здесь:

Процент слов в тексте, которые начинаются с заданного символа C++
C++ Определить процент повторения заданного слова в тексте
Подсчитать количество слов в тексте, которые начинаются с цифры C++
C++ Узнать количество слов в тексте, которые начинаются с заданных букв
C++ найти количество слов, которые имеют последнюю букву первого слова.
C++ Определить, сколько слов текста из файла имеют определенную длину
Определить, сколько слов текста имеют длину 1, 2, 3, ..., 10 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,115
27.05.2012, 21:04     Определить процент слов в тексте, которые имеют удвоенную согласную #2
XaJlop4ik, ну пишет же компилятор, переменная i не была инициализирована. Напишите так хотя-бы:
C++
1
int i = 0, j = 0, h=1, k=0,indn=0, indk = 0;
А спрашивает он это потому-что он не знает, что сдеать здесь:
C++
1
while (str[i]!=' ');  //Чему здесь равен i?
А так код не читал.
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 340
27.05.2012, 21:05     Определить процент слов в тексте, которые имеют удвоенную согласную #3
XaJlop4ik, если мне не изменяет память, то только константы при объявлении специализируются нулем 0.
на 10 строке вы объявили i но не присвоили значение.
попробуйте int i = 0;
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
27.05.2012, 21:08  [ТС]     Определить процент слов в тексте, которые имеют удвоенную согласную #4
точно, спасибо
А что значит <переменная> was coruppted???
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 340
27.05.2012, 21:18     Определить процент слов в тексте, которые имеют удвоенную согласную #5
XaJlop4ik, это значит что она повреждена. огласи в какой строке выявляется эта ошибка.
zss
Модератор
Эксперт С++
6189 / 5792 / 1875
Регистрация: 18.12.2011
Сообщений: 14,797
Завершенные тесты: 1
27.05.2012, 21:18     Определить процент слов в тексте, которые имеют удвоенную согласную #6
Это значит, что во время исполнения произошла запись за границы массива,
которая испортила значение других переменных.
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
27.05.2012, 21:21  [ТС]     Определить процент слов в тексте, которые имеют удвоенную согласную #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
 using namespace std;
int i=0, j, h=1, k=0, indn=0, indk;
double p;
int main()
{
    setlocale(LC_ALL, "");
    char str[250],c[250];
    puts("Введите строку:");
    gets(str);
    while(str[k]!='\0')
    {
       while (str[i]!=' ')
       {
           if(str[i]=='\0') break;
           i++;
       }
       indk=i;
       for(j=indn;j<indk;j++)
       {
           c[j]=str[j];
           str[j]=' ';
       }
       for(j=indn;j<indk;j++)
       {
           str[j]=c[indk-j-1];
       }
       indn=indk+1;
       i=indn;
       k++;
      }
    puts("Измененная строка: ");
    puts(str);
    return 0;
}
Чуть другая задача!
Ошибка: Stack around the variable 'str' was corrupted.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2012, 21:52     Определить процент слов в тексте, которые имеют удвоенную согласную
Еще ссылки по теме:

C++ Какой процент слов в тексте начинается на заданную букву
Определить процент элементов массива, которые содержат цифру 5 C++
C++ Подсчитать количество слов в тексте, которые заканчиваются на гласную букву
Подсчитать количество слов в тексте, которые начинаются с гласной буквы C++
Указать количество слов, которые имеют хотя бы одну из звонких согласных C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
6189 / 5792 / 1875
Регистрация: 18.12.2011
Сообщений: 14,797
Завершенные тесты: 1
27.05.2012, 21:52     Определить процент слов в тексте, которые имеют удвоенную согласную #8
В строке 33 ошибка.
Должно быть
C++
1
       i=indn-1;
Yandex
Объявления
27.05.2012, 21:52     Определить процент слов в тексте, которые имеют удвоенную согласную
Ответ Создать тему
Опции темы

Текущее время: 06:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru