Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37

Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на символ «–»

10.06.2014, 18:04. Показов 2420. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на символ «–»
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
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <locale.h>
#include<iostream>
int main(void)
{
setlocale(LC_ALL,"rus");
using namespace std;
char string[256];
int i;
char t;
//bool good = true; //Определяет является ли введенная строка идентификатором
printf("Введите строку: ");
scanf("%s",string);
for(int i=0; strlen(string); i++) 
if((string[i] >= 'B', 'C', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ' M', 'N', 'P', 'Q', 'R', ' S', 'T', 'V', 'W', 'X', 'Z')|| (string[i] = 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ' m', 'n', 'p', 'q', 'r', ' s', 't', 'v', 'w', 'x', 'z'))
{
string[i]='8';
}
else
if((string[i] >= 'A', 'E', 'I', 'O', 'U', 'Y')||( string[i] = 'a', 'e', 'i', 'o', 'u', 'y'))
{
string[i]='-';
}
printf("Получившаяся строка: %s",string[i]);
return 0;
getch();
}
Выдает ошибку: Необработанное исключение в "0x772b15ee" в "***.exe": 0xC0000005: Access violation.
Подскажите, пожалуйста, где не правильно....
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.06.2014, 18:04
Ответы с готовыми решениями:

Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на символ «–»
Ввести строку с клавиатуры. Вывести средний символ строки. Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на...

Программа, вычёркивающая каждую гласную русскую букву слова X
Составьте программу, вычёркивающая каждую гласную русскую букву слова X. Дополнительную строку использовать запрещается. Напишите код...

В заданном тексте заменить каждую гласную букву символом ‘*’, а согласную – символом ‘+’,
В заданном тексте заменить каждую гласную букву символом ‘*’, а согласную – символом ‘+’, Решил,но ниче не делает!!!Ужас просто! ...

4
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 18:38
Цитата Сообщение от Leert Посмотреть сообщение
for(int i=0; strlen(string); i++)
Что за условие работы цикла?

Добавлено через 1 минуту
C++
1
for(int i=0; i < strlen(string); i++)
0
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37
10.06.2014, 18:40  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
for(int i=0; i < strlen(string); i++)
теперь он выводит: Run-Time Check Failure #3 - The variable 'i' is being used without being initialized.
и показывает на эту строчку
Цитата Сообщение от Leert Посмотреть сообщение
printf("Получившаяся строка: %s",string[i]);
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
10.06.2014, 18:43
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;
 
bool in_list(char symbol, char *list){
  bool tmp = false;
  for (int i = 0; list[i] != '\0'; i++) if (symbol == list[i]) {tmp = true; break;}
  return tmp;
}
 
int main(){
  setlocale(0, "");
  char buf[1024];
  printf("Введите строку (Не более 1023 символов):");
  gets(buf);
  char s_list[] = "BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvXxYyZz";
  char g_list[] = "AaEeIiOoUuWw";
  
  for (int i = 0; buf[i] != '\0'; i++){
    if (in_list(buf[i], s_list)) buf[i] = '8';
    if (in_list(buf[i], g_list)) buf[i] = '-';
  }
  printf("%s", buf);
}
Сделал для английских символов, так как все русские символы на моем устройстве воспринимаются как многобайтные.

Добавлено через 34 секунды
Переделать, надеюсь, не составит труда.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 18:47
Цитата Сообщение от Leert Посмотреть сообщение
и показывает на эту строчку
И зачем там i ?

Добавлено через 2 минуты
Цитата Сообщение от Leert Посмотреть сообщение
Поменять каждую согласную русскую букву
И где, здесь в коде, русские буквы? Вот это?
C++
1
if((string[i] >= 'B', 'C', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ' M', 'N', 'P', 'Q', 'R', ' S', 'T', 'V', 'W', 'X', 'Z')|| (string[i] = 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ' m', 'n', 'p', 'q', 'r', ' s', 't', 'v', 'w', 'x', 'z'))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.06.2014, 18:47
Помогаю со студенческими работами здесь

Каждую гласную букву в тексте заменить на символ "*"
В конце, когда надо напечатать изменений текст, печает только последнее введеное слово uses crt; var kol, i:integer; x:string; T:real;...

В заданном тексте удвоить каждую согласную букву
Ваша программа должна в заданном тексте удвоить каждую согласную букву.

В заданном тексте удвоить каждую гласную букву
Ваша программа должна в заданном тексте удвоить каждую гласную букву.

Вывести имя и отчество, заменив каждую гласную букву *
var st,st1:string; k,i:integer; begin writeln('введите текст'); readln(st); st1:=st+''; k:=0; while (st1='')do begin

Убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы
тема: текстовые файлы. убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru