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

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

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

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

10.06.2014, 18:04. Просмотров 529. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2014, 18:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на символ «–» (C++):

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

В текстовом файле поменять каждую букву "а" на букву, заданную пользователем - C++
Дан текстовый файл, поменять в нем букву &quot;а&quot; на задаваемую пользователем.

Составить программу для кодирования некоторого текста до 50 символов, заменяя каждую букву на пятую после нее букву из а - C++
Составить программу для кодирования некоторого текста до 50 символов, заменяя каждую букву на пятую после нее букву из алфавита. Алфавит...

Прокомментировать каждую строку кода (или хотя бы каждую функцию) - C++
нашел программу в интернете, только ничего не понял) можете прокомментировать каждую строку (ну или хотя бы каждую функцию) #include...

Удвоить каждую букву - C++
Здравствуйте всем. С++. Пытаюсь написать программу. Возможно это что-то элементарное, но не получается. Необходима ваша помощь....

Вывести каждую цифру из введенного числа - C++
Здравствуйте! Прошу просмотреть код программы и выразить ваше мнение... Может быть допущены какие-то недочеты. Может что-то написано...

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

Добавлено через 1 минуту
C++
1
for(int i=0; i < strlen(string); i++)
0
Leert
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37
10.06.2014, 18:40  [ТС] #3
Цитата Сообщение от 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
FraidZZ
Ex-Member
3899 / 1525 / 229
Регистрация: 06.01.2013
Сообщений: 4,050
Завершенные тесты: 1
10.06.2014, 18:43 #4
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
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 18:47 #5
Цитата Сообщение от 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
10.06.2014, 18:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2014, 18:47
Привет! Вот еще темы с ответами:

Строка: Заменить каждую цифру 0…9 на слова - C++
В произвольно взятом предложении заменить каждую цифру 0…9 на слова «ноль», «один», …, «девять». Помогите с кодом Добавлено через 9...

В тексте каждую букву “б” заменять на “ку” - C++
В тексте каждую букву “б” заменять на “ку” (например, из слова «абракадабра» получится «акуракадакура»).

Каждую цифру числа забить в ячейку массива - C++
Допустим есть какое либо битовое число 001011101 мне нужно его запихать в массив так чтобы = 0 = 0 = 1 = 0 = 1 = 1 = 1...

Разделить каждую цифру числа на ее порядковый номер - C++
Уважаемые, подскажите, пожалуйста. Плюсы только начал изучать, всё с нуля. Суть задачи: Дано число. Разделить каждую цифру числа на его...


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

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

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