Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Просто Ромашка
1 / 1 / 0
Регистрация: 08.11.2014
Сообщений: 23
Завершенные тесты: 1
#1

Сравнение массивов объектов - C++

27.10.2015, 17:49. Просмотров 236. Ответов 11

Здравствуйте, в процессе выполнения задания столкнулась с проблемой - нужно сравнить два массива с объектами. На ob1== ob2 компилятор ругается. Подскажите, пожалуйста, что использовать или где можно почитать об этом
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2015, 17:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнение массивов объектов (C++):

Сравнение массивов: найти максимальное перебором массивов - C++
Добрый вечер такая проблема даны два одномерных массива A, B причем в каждом массиве записанно число по разрядно Задачи найти...

Сравнение объектов - C++
if ((a/b) > (f.a/f.b)) { cout << "1 > 2" << endl; return *this; объекты класса a и b имеют тип int, как в этом отрывке метода...

Сравнение объектов класса - C++
как можно сравнивать обекты класса? если например классу задать какую-нибудь ID-переменную, которой будет даватья какой-то номер при его...

Сравнение объектов string - C++
Вопрос такой. Мне нужно организовать поиск по ключу типа string. Но сравниваются они посимвольно. if (somestring==parametr) {....} ...

Сравнение объектов template - C++
template<unsigned m> class Residue { private: unsigned _n; public: Residue(unsigned n):_n(n){}; ~Residue(){}; ...

Сравнение массивов - C++
После заполнения динамического массива числами,в моем случае 1 и 0,компилятор не производит действий,останавливает работу.Спасибо#include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ishellstrike
77 / 13 / 7
Регистрация: 23.10.2015
Сообщений: 83
27.10.2015, 18:12 #2
А что за объекты? Определенные Вами? Тогда нужно определить оператор сравнения двух объектов
C++
1
bool operator == (const YourType& first, const YourType& second)
0
Просто Ромашка
1 / 1 / 0
Регистрация: 08.11.2014
Сообщений: 23
Завершенные тесты: 1
27.10.2015, 18:46  [ТС] #3
Создаю класс и объекты типа класса
0
ishellstrike
77 / 13 / 7
Регистрация: 23.10.2015
Сообщений: 83
27.10.2015, 18:48 #4
Просто Ромашка, значит в этом классе нужно определить оператор сравнения ==
0
Просто Ромашка
1 / 1 / 0
Регистрация: 08.11.2014
Сообщений: 23
Завершенные тесты: 1
27.10.2015, 18:52  [ТС] #5
Цитата Сообщение от ishellstrike Посмотреть сообщение
bool operator == (const YourType& first, const YourType& second)
получается в классе прописать эту строчку?)
0
ishellstrike
77 / 13 / 7
Регистрация: 23.10.2015
Сообщений: 83
27.10.2015, 18:54 #6
Просто Ромашка, ну и описание для нее
C++
1
2
3
4
bool operator == (const YourType& first, const YourType& second)
{
return first.some_field == second.some_field && first.other == second.other; 
}
0
Просто Ромашка
1 / 1 / 0
Регистрация: 08.11.2014
Сообщений: 23
Завершенные тесты: 1
27.10.2015, 19:02  [ТС] #7
http://www.cyberforum.ru/attachment....1&d=1445961644
что я делаю не так?)
0
Миниатюры
Сравнение массивов объектов  
ishellstrike
77 / 13 / 7
Регистрация: 23.10.2015
Сообщений: 83
27.10.2015, 19:25 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну дело в том, что оператор == может быть описан в классе, тогда он будет унарный
C++
1
2
3
4
5
6
YourType { 
bool operator == (const YourType& other)
{
return field == other.field;
} 
};
или вне класса
C++
1
2
YourType{}; 
bool operator == (const YourType& first, const YourType& second) ...
1
Просто Ромашка
1 / 1 / 0
Регистрация: 08.11.2014
Сообщений: 23
Завершенные тесты: 1
27.10.2015, 19:56  [ТС] #9
Спасибо)
0
daslex
1271 / 516 / 106
Регистрация: 02.08.2011
Сообщений: 2,678
27.10.2015, 19:57 #10
У Вас какой объект? Есть ли указатели в классе? Как вы создаете объекты (на стеке или в куче)?
Что значит сравнить массив с объектами? Какие критерии сравнения, в каком случае массив равен объекту?

Вы слишком мало информации дали, чтобы Вам хорошо на это ответили.
0
Просто Ромашка
1 / 1 / 0
Регистрация: 08.11.2014
Сообщений: 23
Завершенные тесты: 1
27.10.2015, 20:10  [ТС] #11
как много вопросов))
Задание
Построить класс для работы с односвязным списком. Создать два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в списке List2 в указанном списком List1 порядке.
Вот что я сделала
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <locale.h>
using namespace std;
 
class samp {
    int a;
    int b;
public:
        bool operator == (const samp& other)
        {
            return a == other.b;
        }
 
 
 
    void set_a()
    {    
        a = rand() % 55 - 25;
    }
    void set_b()
    {
        b = rand() %50-20;
    }
    int get_a() { return a; }
    int get_b() { return b; }
};
    
    
    int main()
    {
        setlocale(LC_ALL, "rus");
        srand(time(0));
        samp ob1[5], ob2[10],ob3[4];
        int i, j, h = 0;;
        for (i = 0; i<5; i++)
            ob1[i].set_a();
        for (i = 0; i < 5; i++) 
            cout << ob1[i].get_a() << " "; 
        cout << endl;
        for (j = 0; j<10; j++) 
            ob2[j].set_b();
        for (j = 0; j < 10; j++) 
            cout << ob2[j].get_b() << " "; 
        cout << endl;
        for (i = 0; i < 10; i++)
    {
            if (ob1[i] == ob2[i]) h++;
            else h = 0;
    }
        if (h == 0) cout << "Повторений нет!" << endl;
        else cout << "Повторения есть!" << endl;
        _getch();
        return 0;
    }
0
daslex
1271 / 516 / 106
Регистрация: 02.08.2011
Сообщений: 2,678
27.10.2015, 20:27 #12
Пока что можно отложить вопрос сравнения. У Вас изначально односвязный список не строится. У Вас обычный массив. Вы заполняете первый элемент каждого из массивов и используете только этот первый элемент каждого из массивов.

Добавлено через 2 минуты
точнее только один, а не то, чтобы первый.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2015, 20:27
Привет! Вот еще темы с ответами:

Сравнение массивов - C++
Добрый день! Не удается сравнить два массива q и с. Алгоритм шифрует по алгоритму CRC и необходимо расшифровать сообщение, но при...

Сравнение массивов - C++
Здраствуйте, как можно сравнить два элемента buffer и asd? Вот код: char* buffer = new char ; char sas = {&quot;123xxx&quot;}; ...

Сравнение 2х массивов в С++ - C++
Ребята, помогите пожалуйста написать вот такую прогу: Запросить и считать два массива у пользователя (две последовательности целых чисел...

Сравнение массивов - C++
заданы два массива целых чисел с одинаковой размерности. Сравнить их соответствующие элементы и вывести на экран массив, составленный из...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.10.2015, 20:27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru