Заменить каждую пару символов '**' на символ ' ' - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго вечера! Не получается в задаче замена (подсчет C и D работает), поправьте пожалуйста, если кому не трудно. Вот условие: Подсчитать количество букв 'C' и 'D' отдельно и заменить каждую пару символов '**' на символ ' '.
#include<stdio.h>
#include<string.h>
#include<conio.h>
 
int main()
 {
  int i,j,kol,kol1;
  char s[100];

  puts("Vvedite stroku:");
  gets(s);      
  puts("Ishodnaya stroka:");
  puts(s);                 
 
  kol=0;
  for(i=0;i<strlen(s);i++)
   if((s[i]=='C'))  
    kol++;
    kol1=0;
  for(i=0;i<strlen(s);i++)
   if((s[i]=='D'))  
    kol1++;
   for(i=0;i<strlen(s)-1;i++)
    if(s[i]=='*'&&s[i+1]=='*')            
     {
      for(j=strlen(s);j>i;j--)
       s[j+1]=s[j];
       s[i+1]=' ';  
      i+=1;
     }
   printf("V stroke kolichestvo simvolov C=%d\n",kol);
   printf("V stroke kolichestvo simvolov D=%d\n",kol1);
  puts("Polu4ennaya stroka:");
  puts(s);
  getch();
}

Решение задачи: «Заменить каждую пару символов '**' на символ ' '»

textual
Листинг программы
while(*st=strstr(s,"**"))

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

  1. В начале кода инициализируется переменная s типом данных char*.
  2. Далее в цикле while происходит поиск следующего символа '**' в строке s. Функция strstr() возвращает указатель на первый символ найденной подстроки, или NULL, если подстрока не найдена.
  3. Если символ '**' найден, то указатель на него сохраняется в переменной st.
  4. Затем происходит замена пары символов '**' на пробел. Для этого используется оператор = для присваивания значения переменной st символу ' '.
  5. После выполнения всех операций в цикле, значение переменной s будет изменено и будет содержать исходную строку с заменой каждой пары символов '**' на пробел.

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


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

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

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