Удаление симовола из строки с используя цикл for - C (СИ)
Формулировка задачи:
Здравствуйте. Нужно удалить символ g из строки используя цикл for. Написал такой код
Однако в результе получаю ту строку на выходе которую ввел. Что-то я не соображу где же тут ошибка
#include "stdio.h" #include "conio.h" #include "string.h" void main (){ clrscr(); int i,j; char S[100]; puts("Vvedite stroky"); gets(S); const char b='g'; for (i=0;i<strlen(S);i++) { if (S[i]==b) { for (j=i;j<strlen(S);j++) S[j]=S[j++]; i++; } } puts(S); getch(); }
Решение задачи: «Удаление симовола из строки с используя цикл for»
textual
Листинг программы
#include "stdio.h" #include "conio.h" #include "string.h" void main (){ int i,j; char S[100]; puts("Vvedite stroky"); gets(S); const char b='g'; for (i=0;i<strlen(S);i++) { if (S[i]==b) { for (j=i;j<strlen(S);j++) S[j]=S[j+1]; i++; } } puts(S); getch(); }
Объяснение кода листинга программы
В этом коде:
- Объявлены три переменные типа int: i, j, и строка S.
- Пользователю предлагается ввести строку.
- Введенная строка сохраняется в массиве S.
- В цикле for перебираются все символы в строке S.
- Если текущий символ равен символу 'g', то в цикле for, начинающемся с этого места, все символы, начиная с текущего, сдвигаются на один символ вправо.
- После удаления символа 'g', длина строки уменьшается на 1.
- Выводится измененная строка.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д