Дана последовательность символов, состоящая из слов. Назовем разностью двух слов количество букв первого слова, которых нет во втором слове. Вывести на экран все пары слов с разностью 2. Если требуемых пар нет, то вывести сообщение «Нет». на си
Ответы
#include <stdio.h>
#include <string.h>
int difference(char *word1, char *word2) {
int count = 0;
for (int i = 0; i < strlen(word1); i++) {
int j;
for (j = 0; j < strlen(word2); j++) {
if (word1[i] == word2[j]) {
break;
}
}
if (j == strlen(word2)) {
count++;
}
}
return count;
}
int main() {
char words[][10] = {"hello", "world", "good", "bad", "happy", "sad"};
int n = sizeof(words) / sizeof(words[0]);
int found = 0;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (difference(words[i], words[j]) == 2) {
printf("(%s, %s)\n", words[i], words[j]);
found = 1;
}
}
}
if (!found) {
printf("No\n");
}
return 0;
}