Определить, сколько символов ‘e’ предшествует первому вхождению символа ‘u’ - C (СИ)

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

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

Помогите решить задачку. вроде проще некуда, а голова совсем не варит( определить, сколько символов ‘e’ предшествует первому вхождению символа ‘u’
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
char str[100];
char b(char);
int main()
{
 clrscr();
 puts("Vvedite posledovatelnost simvolov\n");
 b(*str);
 getch();
}
 
char b(char q)
{
 int i=0,n=0;
 do
  {
   q=getchar();
   str[++i]=q;
  }
 while(q!='.');//признак конца последовательности символов
 for (i=0;i<100;i++)
  {
   if (str[i]=='u');
   дальше хз как
  }
 printf("Otvet= %d\n",n);//n-счетчик
}

Решение задачи: «Определить, сколько символов ‘e’ предшествует первому вхождению символа ‘u’»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define STOP 'u'
#define FIND 'e'
 
int main(void){
    char buf[BUFSIZ], * pStop, * pFind;
    int cnt;
 
    while ( printf("String: ") && scanf("%[^\n]%*c", buf) == 1 ){
        if ( ( pStop = strchr(buf, STOP) ) == NULL ){
            printf("No symbol %c found!\n", STOP);
            continue;
        }
        for ( cnt = 0, pFind = strchr(buf, FIND); pFind != NULL && pFind < pStop; ++cnt, pFind = strchr(pFind + 1, FIND) )
            ;
        printf("%d symbols %c found before %c\n", cnt, FIND, STOP);
    }
 
    return 0;
}

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

  1. Подключение необходимых библиотек: stdio.h, stdlib.h, string.h
  2. Определение двух констант: STOP и FIND. Значение STOP - 'u', FIND - 'e'
  3. Объявление переменных:
    • buf - массив символов, в котором будет искаться символ 'u'
    • pStop - указатель на первый символ 'u' в массиве buf
    • pFind - указатель на первый символ 'e' в массиве buf
    • cnt - счетчик символов 'e', которые предшествуют символу 'u'
  4. Ввод строки с помощью функции scanf. Если строка введена некорректно или содержит только пробелы, программа выведет сообщение об ошибке и запросит новую строку.
  5. Проверка наличия символа 'u' в строке. Если символ не найден, программа выведет сообщение об ошибке и продолжит ждать ввода новой строки.
  6. Если символ 'u' найден, начинается поиск первого символа 'e'. Используется цикл for для поиска каждого символа 'e' до тех пор, пока не будет найден символ 'u'.
  7. В каждой итерации цикла увеличивается счетчик cnt, а указатель pFind перемещается к следующему символу 'e'.
  8. После нахождения всех символов 'e' программа выводит количество найденных символов и символ 'u'.
  9. В конце программы возвращается 0, что означает успешное выполнение.

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


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

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

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