Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 21

Сравнение двух массивов

06.12.2015, 10:12. Показов 1055. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такая задача:
Нужно сравнивать два списка фамилий и проверить их на наличие одинаковых фамилий (все фамилии начинаются с большой буквы).
Загружаются они из двух разных файлов, сортируются функцией.
Что я не пойму, так это как сравнить их и выявить на идентичность.
С чистым C только начал знакомство, нужна помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2015, 10:12
Ответы с готовыми решениями:

Сравнение двух массивов
Появилась необходимость сравнить значения двух массивов. Я в курсе о таких штуках, которые сравнивают массивы по названию ключей, их...

Сравнение двух массивов.
Вопрос такой ,как сравнить 2 массива, и если они равны, то в тест боксе писать текст. Использовал код который ниже, но ничего не выходит,...

Сравнение двух массивов
Вечер добрый Всем! Помогите разобраться почему выдает ошибку. Суть такова: Имеется Книга2, на листе1 кнопка - для открытия Книги1 и...

8
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
06.12.2015, 10:24
strncmp
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 21
06.12.2015, 10:46  [ТС]
При компиляции пишет: implicit declaration of function 'strncmp'
А при исполнении: Segmentation fault (core dumped)
Что может быть не так?
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
06.12.2015, 10:48
Ты не подключил заголовочный файл.
Читай man strncmp
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 21
06.12.2015, 10:59  [ТС]
<string.h> подключил, предупреждения, конечно, нет, но всё равно Segmentation Fault.
Код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define N 100
 
int sort(char a[N]){
    int i, j, m, t;
    for(i=0;i<N-1;i++){
        m=i;
        for(j=i+1;j<N;j++){
            if(a[j]<a[m]){
                m=j;
            }
        }
        
        t=a[i];
        a[i]=a[m];
        a[m]=t;
    }
    return 0;
}
 
int main(int argc, char **argv)
{
    int i;
    char a[N], b[N];
    FILE *f1=fopen("f1.txt", "r"), *f2=fopen("f2.txt", "r");
    for(i=0;i<N;i++){
        fscanf(f1,"%c",&a[i]);
        fscanf(f2,"%c",&b[i]);
    }
    if(strncmp(a,b,N)==0)
        printf("Lists are identical");
    else
        printf("Lists are different");
    
    return 0;
}
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
06.12.2015, 12:34
Цитата Сообщение от TentacleMonster Посмотреть сообщение
a[N]
Это просто массив символов. Строка. А не список фамилий. Должен быть как минимум массив из строк.
Цитата Сообщение от TentacleMonster Посмотреть сообщение
fscanf(f1,"%c",&a[i]);
Читать посимвольно - издевательство. Фамилии можно читать сразу словом.
Цитата Сообщение от TentacleMonster Посмотреть сообщение
int sort(char a[N]){
int i, j, m, t;
for(i=0;i<N-1;i++){
m=i;
for(j=i+1;j<N;j++){
if(a[j]<a[m]){
m=j;
}
}
t=a[i];
a[i]=a[m];
a[m]=t;
}
return 0;
}
Сортироваться должны фамилии, а не символы.

Программа в принципе не решает поставленную задачу, исправлять seg fault смысла нет.
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 21
06.12.2015, 13:23  [ТС]
Не порядок...
Можете тогда помочь решить её? Хотя бы показать, как правильно будет.
А то я, боюсь, самостоятельно не разбираюсь ввиду изначально неверно понятого всего.
Я реально далёк от чистого С, и по нему у нас было слишком мало занятий в инсте.
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
06.12.2015, 14:18
Создай массив указателей на строки, выдели под них память, считывай в каждую строку по фамилии. Потом отсортируй (либо во время вставки в массив строки. А вообще, тут лучше использовать дерево.). А потом уже цикл по одному из массивов и поиск в другом.
0
 Аватар для bsa916115
51 / 24 / 12
Регистрация: 10.10.2015
Сообщений: 107
10.12.2015, 03:21
Почитайте man qsort. Уже давно проверенная и быстрая функция сортировки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2015, 03:21
Помогаю со студенческими работами здесь

Сравнение двух массивов
Доброго времени суток форумчане))) Вопрос у меня следующий: есть два строковых массива первый массив время от времени ...

Сравнение двух массивов
Здравствуйте, у меня возникла проблема со сравнением двух массивов. Вообщем мне нужно сравнить два массива в которых строки одинаковые, но...

Сравнение двух массивов
Здравствуйте, как сравнить 2 вот таких, к примеру массива и узнать они идентичны или нет? $array1 = ; $array2 = ; ну то есть...

Сравнение двух массивов
Добрый день! Помогите с решением. Даны два массива, необходимо найти похожие элементы по неполному совпадению и вывести индексы...

Сравнение двух массивов
Решаю задачку, следующий код не проходит тестирование: static void Main(string args) { //var a = new {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru