В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
1234567891251
1234567891251
24.02.2023 03:02 •  Информатика

Вычеркните из слова все буквы "я", стоящие на четных местах. написать программу на с++

Показать ответ
Ответ:
syrovnikolas
syrovnikolas
02.10.2020 16:59
На вывод работало с 866, а на ввод с 1251 (SetConsoleCP();).
В массив пишет каракули.
Функции  setlocale(LC_CTYPE, "Russian"); setlocale(LC_ALL, "Russian"); тоже не Отлично работают с ОТОБРАЖЕНИЕМ текста в консоли, но с чтение из ее это ужас. 
В С++ всегда с этим проблема была, с обработкой вводимой кириллицы  с консоли.
Это те еще танцы с бубнами. Учитывая еще то, что многие функции писались исключительно под XP а про поддержку в версиях выше речи не было вообще.
Есть выходы конечно, но у меня не получилось отобразить кириллицу, считать с консоли, и вывести обратно. Что-то одно всегда не работало.Либо выводило правильно, а записывало каракули, либо каракули выводит а записывает правильно. 
Если убрать все заморочки с кодировками, то вот код:

int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_CTYPE, "Russian");
char *str=new char[]; 
cout<<"Введите слово: "; cin>>str;

   for (int i = 0; i < strlen(str); i++)
    {
       if(str[i]!='я'&&i%2!=0){cout<<str[i];} 
    }

system("PAUSE");

}
Вычеркните из слова все буквы я, стоящие на четных местах. написать программу на с++
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота