|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.11.2016, 16:44 | #1 |
Регистрация: 13.11.2016
Сообщений: 6
|
Помогите найти ошибку
Даны две строки длиной до 80 символов.Заменить в каждой строке один заданный символ на другой заданный символ.Описать в виде функции замену символа в строке.
Код HTML:
#include <iostream> #include <cstdlib> #include <locale> #include <cstdio> #include <string> using namespace std; char fun(char str1, char one, char two) { for (int i = 0; str1[i]!='\0'; i++) { if (str1[i] == one) str1[i] = two; return str1; } } char fun2(char str2, char one, char two) { for (int i = 0; str2[i] != '\0'; i++) { if (str2[i] == one) str2[i] = two; return str2; } } void main() { setlocale(LC_ALL, "Russian"); char str1[80]; char str2[80]; char one, two; cout << "Введите строки " << 1 << endl << 2; gets_s(str1); gets_s(str2); cout << "Введите символ,который нужно заменить" << endl; cin >> one; cout << "На что заменить ваш символ?" << endl; cin >> two; cout << "Ответ" << endl; fun(str1,one,two) fun2(str2, one, two); for (int i = 0; str1[i] != '\0'; i++) putchar(str1[i]); for (int i = 0; str1[i] != '\0';i++) putchar(str2[i]); system("pause"); } |
13.11.2016, 16:51 | #2 |
Пользователь
Регистрация: 08.10.2016
Сообщений: 18
|
fun(char * str1
|
13.11.2016, 17:26 | #3 |
Регистрация: 13.11.2016
Сообщений: 6
|
Меняет теперь только 1 символ каждой строки
Код:
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум. Последний раз редактировалось Alex11223; 13.11.2016 в 17:37. |
13.11.2016, 17:42 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так у вас return на первой итерации цикла.
Этот код эквивалентен Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
13.11.2016, 17:45 | #5 |
Регистрация: 13.11.2016
Сообщений: 6
|
А как тогда нужно изменить код?
|
13.11.2016, 17:51 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Зависит от того того что вы хотите сделать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
13.11.2016, 17:59 | #7 |
Регистрация: 13.11.2016
Сообщений: 6
|
Мне нужно,чтобы менялись все указанные символы,а не только первый
|
13.11.2016, 18:05 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
А зачем вы тогда запихнули туда return? + возвращаемое им значение все равно нигде не используете.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
13.11.2016, 18:11 | #9 |
Регистрация: 13.11.2016
Сообщений: 6
|
Все я убрал return и программа нормально заработала.Спасибо большое
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Язык C]: В массиве числа образуют неубывающую последовательность. Найти количество различных чисел в массиве. Помогите найти ошибку. | Yulia24* | Помощь студентам | 0 | 18.10.2016 20:41 |
Дан массив а(n) типа SWORD. найти сумму всех отрицательных элементов массива.помогите найти ошибку | Юлия123456 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 07.09.2016 06:12 |
Найти седловые точки в матрице(помогите найти ошибку) - pascal | tdsotm | Помощь студентам | 0 | 20.11.2014 18:57 |
Помогите найти ошибку - StrToFloat выдаёт ошибку EConvertError для ячеек StringGrid (Delphi) | Artsiom | Помощь студентам | 10 | 18.12.2013 14:10 |