Сравнение 2х массивов строк - C (СИ)
Формулировка задачи:
Задача
Есть массив №1 в котом 13 строк прогоняя его через функцию надо сравнить с массивом №2 который в файле,если скрока из массива №1 есть в массиве №2 то возращаем 1 ,если нет то 0. У меня проблема с тем что массив из файла считал, а в сравнение таком не могу разораться. Помогите понять что я делаю не так.
int TFN(const char array1[ ]) { int result=-1,n=0,i=0; char array2[32][10]; FILE *file = fopen("lines.txt", "r"); while (!feof(file)) { fscanf (file, "%s\n", &array2[i]); i++; }; for (n=0; result == -1; n++){ if(array2[n][0]==array1[n]){ result =1; } else{ result =0; }; } return result; };
Решение задачи: «Сравнение 2х массивов строк»
textual
Листинг программы
for(i=0;i<13;i++) for(j=0;j<13;j++) if(strcmp(arrstr1[i],arrstr2[j])==0) return 1; return 0;
Объяснение кода листинга программы
В этом коде сравниваются два массива строк. Если хотя бы одна строка из первого массива присутствует во втором, то возвращается 1, иначе возвращается 0. Вот список действий:
- Создаются два массива строк arrstr1 и arrstr2.
- Задаются начальные значения для двух вложенных циклов. Первый цикл идет по элементам первого массива, второй - по элементам второго массива.
- В каждой итерации внутреннего цикла происходит сравнение текущих элементов обоих массивов с помощью функции strcmp. Если элементы равны, то возвращается 1 и нарушается условие внешнего цикла.
- Если после завершения циклов условие внешнего цикла не выполнено, то возвращается 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д