Сравнение 2х массивов строк - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задача Есть массив №1 в котом 13 строк прогоняя его через функцию надо сравнить с массивом №2 который в файле,если скрока из массива №1 есть в массиве №2 то возращаем 1 ,если нет то 0. У меня проблема с тем что массив из файла считал, а в сравнение таком не могу разораться. Помогите понять что я делаю не так.
Листинг программы
  1. int TFN(const char array1[ ]) {
  2. int result=-1,n=0,i=0;
  3. char array2[32][10];
  4. FILE *file = fopen("lines.txt", "r");
  5. while (!feof(file)) {
  6. fscanf (file, "%s\n", &array2[i]);
  7. i++;
  8. };
  9. for (n=0; result == -1; n++){
  10. if(array2[n][0]==array1[n]){
  11. result =1;
  12. }
  13. else{
  14. result =0;
  15. };
  16. }
  17. return result;
  18. };

Решение задачи: «Сравнение 2х массивов строк»

textual
Листинг программы
  1. for(i=0;i<13;i++)
  2.  for(j=0;j<13;j++)
  3.   if(strcmp(arrstr1[i],arrstr2[j])==0)
  4.      return 1;
  5. return 0;

Объяснение кода листинга программы

В этом коде сравниваются два массива строк. Если хотя бы одна строка из первого массива присутствует во втором, то возвращается 1, иначе возвращается 0. Вот список действий:

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

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


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

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

14   голосов , оценка 4.071 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы