Сравнение 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д