Определить, сколько символов ‘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; }
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdio.h, stdlib.h, string.h
- Определение двух констант: STOP и FIND. Значение STOP - 'u', FIND - 'e'
- Объявление переменных:
- buf - массив символов, в котором будет искаться символ 'u'
- pStop - указатель на первый символ 'u' в массиве buf
- pFind - указатель на первый символ 'e' в массиве buf
- cnt - счетчик символов 'e', которые предшествуют символу 'u'
- Ввод строки с помощью функции scanf. Если строка введена некорректно или содержит только пробелы, программа выведет сообщение об ошибке и запросит новую строку.
- Проверка наличия символа 'u' в строке. Если символ не найден, программа выведет сообщение об ошибке и продолжит ждать ввода новой строки.
- Если символ 'u' найден, начинается поиск первого символа 'e'. Используется цикл for для поиска каждого символа 'e' до тех пор, пока не будет найден символ 'u'.
- В каждой итерации цикла увеличивается счетчик cnt, а указатель pFind перемещается к следующему символу 'e'.
- После нахождения всех символов 'e' программа выводит количество найденных символов и символ 'u'.
- В конце программы возвращается 0, что означает успешное выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д