Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Дана строка: предложение на русском языке. Подсчитать количество содержащихся гласных букв - C++

28.02.2016, 13:58. Просмотров 388. Ответов 6
Метки нет (Все метки)

Пример в паскале(рабочий)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program st;
var
 S:String;
 i,Num:integer;
 
begin
  Write('S: ');
  Readln(S);
 
  i:=1;
  Num:=0;
  While (i<=Length(S)) do
   begin
    if ord(S[i]) in [160,165,168,174,227,235,237,238,239,241,
                     128,133,136,142,147,155,157,158,159,240] then inc(Num);
    //160-'а',165-'е',168-'и',174-'о',227-'у',235-'ы',237-'э',238-'ю',239-'я',241-'ё'
    //128-'А',133-'Е',136-'И',142-'О',147-'У',155-'Ы',157-'Э',158-'Ю',159-'Я',240-'Ё'
 
    inc(i);
   end;
 
  Writeln(Num);
end.
пытался сделать сам не по примеру паскаля. выдает ошибку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <iomanip>
#include <sstream>
#include <bitset>
#include <stdexcept>
using namespace std;
int main()
{
    string a;
    char string[10]={'а','у','е','ы','о','э','я','и','ю','У','Е','Ы','А','Э','Я','И','Ю','\0'};
    int j,i,kol;
    string s;
    cout<<"vvedite "<<endl;
    cin>>s;
    for(i=0;i<lenght(s);i++)
       for(j=0;j<10;j++0)
          if(s[i]=a[j])
             kol++;
    cout<<"kol="<<kol<<endl;
    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2016, 13:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана строка: предложение на русском языке. Подсчитать количество содержащихся гласных букв (C++):

Дана строка. Подсчитать количество букв, содержащихся в строке - C++
Дана строка. Подсчитать количество букв, содержащихся в строке.

С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. - C++
С клавиатуры вводится текстовая строка на русском языке. Найдите количество гласных и согласных букв. Используйте фильтр для ввода только...

Дана строка, подсчитать количество содержащихся в ней строчных букв - C++
Дана строка, подсчитать количество содержащихся в ней строчных букв.

Дана строка. Подсчитать общее количество содержащихся в ней строчных латинских и русских букв - C++
Дана строка. Подсчитать общее количество содержащихся в ней строчных латинских и русских букв.

Дана строка-предложение на русском языке. Зашифровать её - C++
Дана строка-предложение на русском языке. Зашифровать её, выполнив циклическую замену каждой буквы на следующую за ней в алфавите и...

Дана строка. Подсчитать количество цифр, содержащихся в ней - C++
Дана строка. Подсчитать количество цифр, содержащихся в ней.

6
zss
Модератор
Эксперт С++
6516 / 6078 / 2001
Регистрация: 18.12.2011
Сообщений: 15,800
Завершенные тесты: 1
28.02.2016, 14:42 #2
Цитата Сообщение от lolopop12 Посмотреть сообщение
if(s[i]=a[j])
C++
1
if(s[i]==a[j])
Цитата Сообщение от lolopop12 Посмотреть сообщение
char string[10]={'а','у','е','ы','о','э','я','и','ю','У','Е','Ы','А','Э','Я','И','Ю','\0'};
Почему 10, если букв 18.
А лучше их не считать:
C++
1
char str[]="ауеыоэяиюУЕЫАЭЯИЮ";
Цитата Сообщение от lolopop12 Посмотреть сообщение
cin>>s;
Кодировка ввода - 866. Поэтому
C++
1
2
3
4
5
#include <windows.h>
...
char s[100];
cin.getline(s,100);
OemToChar(s,s);
0
lolopop12
0 / 0 / 1
Регистрация: 20.01.2016
Сообщений: 50
28.02.2016, 20:05  [ТС] #3
zss, выдает ошибку
0
Изображения
 
zss
Модератор
Эксперт С++
6516 / 6078 / 2001
Регистрация: 18.12.2011
Сообщений: 15,800
Завершенные тесты: 1
28.02.2016, 20:09 #4
Какой код компилируете?
0
lolopop12
0 / 0 / 1
Регистрация: 20.01.2016
Сообщений: 50
28.02.2016, 20:20  [ТС] #5
zss,
0
zss
Модератор
Эксперт С++
6516 / 6078 / 2001
Регистрация: 18.12.2011
Сообщений: 15,800
Завершенные тесты: 1
28.02.2016, 20:21 #6
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
#include <iostream>
#include <cstring>
#include <clocale>
using namespace std;
#include <windows.h>
int main()
{
    setlocale(LC_ALL,"Rus");
    char str[]="ауеыоэяиюУЕЫАЭЯИЮ";    
    char s[100];
    cout<<"введите русский текст:"<<endl;
    cin.getline(s,100);
    OemToCharA(s,s); // Если не отключать уникод
    //OemToCharW(s,s); // Если отключить уникод 
    int kol=0;
    for(int j=0;s[j]!=0;j++)
        for(int i=0;str[i]!=0;i++)
          if(s[j]==str[i])
          {
             kol++;
             break;
          }
    cout<<"Всего гласных букв "<<kol<<endl;
    system("pause");
    return 0;
}
0
lolopop12
0 / 0 / 1
Регистрация: 20.01.2016
Сообщений: 50
28.02.2016, 20:33  [ТС] #7
Спасибо большое
0
28.02.2016, 20:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2016, 20:33
Привет! Вот еще темы с ответами:

Дана строка. Подсчитать количество содержащихся в ней цифр - C++
Дана строка. Подсчитать количество содержащихся в ней цифр. с++

Дана строка. Подсчитать количество содержащихся в ней цифр - C++
Дана строка. Подсчитать количество содержащихся в ней цифр.

Дана строка подсчитать количество латинских букв - C++
Дана строка подсчитать количество латинских букв.

Дана строка.Подсчитать в ней количество вхождений букв f,k,t. - C++
Дана строка.Подсчитать в ней количество вхождений букв f,k,t.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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