Сравнение 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. Вот список действий:

  1. Создаются два массива строк arrstr1 и arrstr2.
  2. Задаются начальные значения для двух вложенных циклов. Первый цикл идет по элементам первого массива, второй - по элементам второго массива.
  3. В каждой итерации внутреннего цикла происходит сравнение текущих элементов обоих массивов с помощью функции strcmp. Если элементы равны, то возвращается 1 и нарушается условие внешнего цикла.
  4. Если после завершения циклов условие внешнего цикла не выполнено, то возвращается 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы