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

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

Восстановить пароль Регистрация
 
NickПавел
10 / 10 / 0
Регистрация: 07.12.2012
Сообщений: 39
04.01.2013, 21:51     в чем ошибка?(вообщем программа должна из введенной строки вывести оттуда только гласные) #1
вообщем программа должна из введенной строки вывести оттуда только гласные, я сам кое что попробовал но у меня ничего не получилось

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++ Программа должна определить длину введенной строки
Программа должна определить длину введенной строки L и, если длина L >15, то удаляются все a..z. C++
строки в с++ проверить является четным числом длина введенной пользователем строки и вывести сообщение на экран C++
C++ Программа, которая удаляет из введенной с клавиатуры строки начальные пробелы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
04.01.2013, 21:55     в чем ошибка?(вообщем программа должна из введенной строки вывести оттуда только гласные) #2
Забери после условия
C++
1
;
v.a.l.i.d
 Аватар для 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
 Аватар для 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
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
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
 Аватар для 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
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
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 минут
ой выводит то что ввел
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2013, 23:17     в чем ошибка?(вообщем программа должна из введенной строки вывести оттуда только гласные)
Еще ссылки по теме:

Программа на контестере проходит только 1 тест из 9. Можете объяснить, в чем моя ошибка и как ее исправить! C++
C++ Программа, которая вычисляет длину введенной с клавиатуры строки
Вывести все гласные из строки. Необычная ошибка C++

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

Или воспользуйтесь поиском по форуму:
v.a.l.i.d
 Аватар для 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;
}
Yandex
Объявления
04.01.2013, 23:17     в чем ошибка?(вообщем программа должна из введенной строки вывести оттуда только гласные)
Ответ Создать тему
Опции темы

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