Удаление симовола из строки с используя цикл 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();
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлены три переменные типа int: i, j, и строка S.
  2. Пользователю предлагается ввести строку.
  3. Введенная строка сохраняется в массиве S.
  4. В цикле for перебираются все символы в строке S.
  5. Если текущий символ равен символу 'g', то в цикле for, начинающемся с этого места, все символы, начиная с текущего, сдвигаются на один символ вправо.
  6. После удаления символа 'g', длина строки уменьшается на 1.
  7. Выводится измененная строка.
  8. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы