Вывести слова строки, содержащие определенные буквы - C (СИ)
Формулировка задачи:
Вывести все слова , содержащие буквы которые входят в слово "файл".
Подскажите как их найти их и вывести.
#include <stdafx.h> #include <stdio.h> #include <locale.h> int main() { setlocale(LC_ALL,"RUS"); char str[] = "манрра, фр а алвл в во вовлл."; int s = 0, i = 0, n = 0, u = 0; int j; for(j = 0; str[j]; j++){ if(str[j] == 'ф') s++; if(str[j] == 'а') i++; if(str[j] == 'й') n++; if(str[j] == 'л') u++; if(str[j] == '.') break; } if(s == 1 && i == 1 && n == 1 && u == 1 ) printf("\n OK"); else printf("\n FAIL"); return 0; }
Решение задачи: «Вывести слова строки, содержащие определенные буквы»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main(){ char str[] = "rewt vxcv fdf sdf 4fds dflp"; char find[] = "file"; char tmp[128] = {0}; int lenFind = strlen(find); int lenStr = strlen(str); int i = 0, j = 0, k = 0, m = 0; for(i = 0; i <= lenStr; i++) { if(str[i] == ' ' || str[i] == '\0') { j = 0; while(j < k) { for(m = 0; m < lenFind; m++) { if(tmp[j] == find[m]) { printf("[ %s ]\r\n", tmp); goto Next; } } j++; } Next: k = 0; } else { tmp[k++] = str[i]; } } getchar(); return 0; }
Объяснение кода листинга программы
В этом коде на языке C происходит поиск подстрок в заданной строке, содержащих определенные буквы. Список действий:
- Подключить необходимые библиотеки
- Определить переменные:
- str - исходная строка
- find - строка, которую необходимо найти
- tmp - временная строка для хранения подстрок
- lenFind - длина строки find
- lenStr - длина строки str
- i, j, k, m - индексы для работы со строками
- Запустить цикл по всем символам строки str
- Внутри цикла проверять, является ли текущий символ пробелом или концом строки
- Если это так, то сбрасывать счетчик j и начинать сбор подстрок с начала
- Для каждой буквы из find проверять, содержится ли она в текущей подстроке
- Если да, то выводить подстроку и переходить к следующему этапу
- Если нет, то добавлять текущий символ в подстроку и увеличивать счетчик k
- После окончания цикла получить символ, нажатый пользователем, и завершить программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д