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

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

Войти
Регистрация
Восстановить пароль
 
NickПавел
10 / 10 / 0
Регистрация: 07.12.2012
Сообщений: 39
#1

в чем ошибка?(вообщем программа должна из введенной строки вывести оттуда только гласные) - C++

04.01.2013, 21:51. Просмотров 438. Ответов 10
Метки нет (Все метки)

вообщем программа должна из введенной строки вывести оттуда только гласные, я сам кое что попробовал но у меня ничего не получилось

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include<locale.h>
using namespace std;
int main()
{ setlocale(LC_ALL,"Rus");
char s[99];
int i;
cout<<"Введите строку\n";
cin>>s;
for (i=0;i<strlen(s);i++){
{if ((s[i]!='У')||(s[i]!='у')||(s[i]!='Е')||(s[i]!='е')||(s[i]!='Ы')||(s[i]!='ы')||(s[i]!='А')||(s[i]!='а')||(s[i]!='О')||(s[i]!='о')||(s[i]!='Э')||(s[i]!='э')||(s[i]!='Я')||(s[i]!='я')||(s[i]!='И')||(s[i]!='и')||(s[i]!='Ю')||(s[i]!='ю'));
cout <<s[i];}
cout <<"\n";}
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2013, 21:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос в чем ошибка?(вообщем программа должна из введенной строки вывести оттуда только гласные) (C++):

Программа должна определить длину введенной строки - C++
Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши &quot;Ввод&quot;. Программа должна определить длину введенной...

Программа должна определить длину введенной строки L и, если длина L >15, то удаляются все a..z. - C++
27. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши &quot;Ввод&quot;. Программа должна определить длину...

Вывести все гласные из строки. Необычная ошибка - C++
Ребят, затуп. делаю так #include &lt;iostream&gt; #include &lt;cstring&gt; int main() { char str = &quot;Police Academy&quot;; char key...

Программа должна считывать английский текст и выводить на экран слова, которые начинаются на гласные буквы - C++
Привет всем)) Вот такая проблема, прога должна считывать английский текст и выводить на экран слова, которые начинаются на гласные...

Программа на контестере проходит только 1 тест из 9. Можете объяснить, в чем моя ошибка и как ее исправить! - C++
Объясните, в чем моя ошибка в решении задачи. Условие: 103. Подсчет войск ограничение времени на тест: 0.5 сек. ...

Вывести на экран только гласные буквы из текста - C++
Вывести на экран только гласные буквы из текста #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; main () { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
04.01.2013, 21:55 #2
Забери после условия
C++
1
;
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
04.01.2013, 22:00 #3
C++
1
((s[i]=='У')||(s[i]=='у')||(s[i]=='Е')||(s[i]=='е')||(s[i]=='ы') ...
Добавлено через 1 минуту
вроде так
NickПавел
10 / 10 / 0
Регистрация: 07.12.2012
Сообщений: 39
04.01.2013, 22:32  [ТС] #4
пробовал, не так((

Добавлено через 2 минуты
убрал ( с условия, перестал показывать результат

Добавлено через 1 минуту
ааа гребаный смайл, вместо него там стоит точка с запятой
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
04.01.2013, 22:33 #5
Тут еще русские буквы. Из-за них может выходить абракадабра.

Попробуйте вместо это строчки
C++
1
setlocale(LC_ALL,"Rus");
вот так сделать:
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
И в в консоле поставить шрифт Lucida Console
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
04.01.2013, 22:35 #6
Цитата Сообщение от NickПавел Посмотреть сообщение
if ((s[i]!='У')||(s[i]!='у')||(s[i]!='Е')||(s[i]!='е')||(s[i]!='Ы')||(s[i]!='ы')||(s[i]!='А')||(s[i]!='а')||(s[i]!='О')||(s[i]!='о')||(s[i]!='Э')||(s[i]!='э')||(s[i]!='Я')||(s[i]!='я')||(s[i]!='И')||(s[i]!='и')||(s[i]!='Ю')||(s[i]!='ю'));
Так делать не очень правильно, поищите другие решения.

Добавлено через 54 секунды
Например загони все гласные в строку и проходи по ней циклом и сравнивай символы.
NickПавел
10 / 10 / 0
Регистрация: 07.12.2012
Сообщений: 39
04.01.2013, 22:39  [ТС] #7
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
Тут еще русские буквы. Из-за них может выходить абракадабра.

Попробуйте вместо это строчки
C++
1
setlocale(LC_ALL,"Rus");
вот так сделать:
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
И в в консоле поставить шрифт Lucida Console
компилятор видит ошибку,не распознает
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
04.01.2013, 22:45 #8
Цитата Сообщение от NickПавел Посмотреть сообщение
компилятор видит ошибку,не распознает
Не помню точно, вроде надо подключить
C++
1
#include "windows.h"
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
04.01.2013, 22:46 #9
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
Не помню точно, вроде надо подключить
Да надо.
NickПавел
10 / 10 / 0
Регистрация: 07.12.2012
Сообщений: 39
04.01.2013, 23:03  [ТС] #10
так вводит то что ввел

Добавлено через 11 минут
ой выводит то что ввел
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
04.01.2013, 23:17 #11
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
#include "stdafx.h"
#include "iostream"
#include "windows.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    char s[99];
 
    cout << "Введите строку:" << endl;
    cin.getline(s, 99);                 // чтобы строку можно было с пробелами вводить
 
    for (int i=0; i<strlen(s); i++)
        if (s[i]=='У' || s[i]=='у' || s[i]=='Е' || s[i]=='е' || s[i]=='Ы' || s[i]=='ы' || s[i]=='А' || s[i]=='а' || s[i]=='О' || s[i]=='о' || s[i]=='Я' || s[i]=='я' || s[i]=='И' || s[i]=='и' || s[i]=='Ю' || s[i]=='ю')
            cout << s[i];
 
    cout << endl;
 
    system("pause > nul");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2013, 23:17
Привет! Вот еще темы с ответами:

Программа должна определить длину введенной строки - C (СИ)
Привет... 10. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши &quot;Ввод&quot;. Программа должна...

Программа должна определить длину введенной строки - Turbo Pascal
Ввести с клавиатуры строку символов. Признак окончания ввода строки - нажатие клавиши &quot;Ввод&quot;. Программа должна определить длину введенной...

Ввести с клавиатуры строку символов.Признак окончания ввода строки - нажатие клавиши 'ввод'.Программа должна определить длину введенной строки L - Pascal
Помогите пожалуйста:gbye: Ввести с клавиатуры строку символов.Признак окончания ввода строки - нажатие клавиши 'ввод'.Программа должна...

Вывести из введенной строки на экран только нечетные по порядку буквы - Assembler
Написать программу, которая выведет из введенного строке на экран только нечетные по порядку буквы. Буду очень благодарен.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.01.2013, 23:17
Ответ Создать тему
Опции темы

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