Замена в каждой строке одного заданного символа на другой заданный символ - C (СИ)
Формулировка задачи:
ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ))
Даны 2 строки до 80 символов. Необходимо Заменить в каждой сроке один заданный символ на другой заданный символ.Описать замену символа в строке в виде отдельной функции.
ВОТ ПРИМЕР Даны 2 строки до 80 символов.Необходимо удалить заданный символ в каждой строке.Описать удаление символа в виде отдельной функции.
#include <stdio.h>
#include <math.h>
int k,m;
char str[81], str2[81];
void Eraser (char str[], char unsim) {
int i, j;
for (i = j = 0; str[i] != '\0'; i++)
if (str[i] != unsim)
str[j++] = str[i];
str[j] = '\0';
}
main()
{
char unsim;
printf (" Select intem to be removed \n");
scanf ("%c", &unsim);
printf ("Enter, please a first line. \n");
scanf ("%s", str);
Eraser(str, unsim);
puts(str);
printf ("Enter, please a second line. \n");
scanf ("%s", str);
Eraser(str, unsim);
puts(str);
}
upupup
Решение задачи: «Замена в каждой строке одного заданного символа на другой заданный символ»
textual
Листинг программы
*s = (*s == c1) ? c2 : *s;
Объяснение кода листинга программы
- Переменная
sсодержит исходную строку. - Переменная
c1содержит символ, который необходимо заменить. - Переменная
c2содержит символ, на который необходимо заменить символ из пункта 2. - Условие
(*s == c1)проверяет, является ли первый символ строкиsравным символуc1. - Если условие выполняется, то значение переменной
sприсваивается значение переменнойc2. - Если условие не выполняется, то значение переменной
sостается неизменным. - Результат замены сохраняется в переменной
s.