Напечатать только те символы, которые встречаются в обоих словах одновременно - C (СИ)
Формулировка задачи:
1. Даны два слова, напечатать только те символы, которые встречаются в обоих словах одновременно. Например, для слов процессор и информация. Ответом должно быть: роц.
2. Даны два предложения. Для каждого слова первого предложения определить, входит ли оно во второе предложение.
P.S Желательно без использования iostream.
Решение задачи: «Напечатать только те символы, которые встречаются в обоих словах одновременно»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
void PrintCommonChars(const char first[], const char second[])
{
for (; *first; ++first)
{
if (strchr(second, *first))
{
printf("%c", *first);
}
}
printf("\n");
}
int main()
{
PrintCommonChars("hello", "world");
return 0;
}
Объяснение кода листинга программы
В этом коде:
- В функции main() создаются два массива:
helloиworld. - Функция PrintCommonChars() принимает два массива в качестве параметров.
- Внутри функции перебираются все символы первого массива с помощью цикла for и проверятся, есть ли такой же символ во втором массиве с помощью функции strchr().
- Если символ присутствует в обоих массивах, он выводится на экран с помощью функции printf().
- После вывода всех общих символов, функция возвращает 0, что означает успешное выполнение.
- В функции main() вызывается функция PrintCommonChars(), передавая в качестве аргументов
helloиworld. - После выполнения функции программа завершается, возвращая 0.