Страница 1 из 1

Используя классы, найти количество противоположных элементов в массиве.

Добавлено: 28 сен 2014, 18:54
Гцльшат
Помогите, пожалуйста, написать программу. Вот задача: Дан целочисленный массив размера N. Найти количество противоположных элементов в данном массиве. Написать нужно с помощью классов. В Dev-C++

Re: Используя классы, найти количество противоположных элементов в массиве.

Добавлено: 29 сен 2014, 12:11
Romeo
Помогите написать или напишите? Первое готов делать, со всевозможными пояснениями и ликбезами любой уровни сложности. Второе делать не готов. Моё отношение к студенческим воплям о помощи: помоги, разъясни, но не навреди, сделав задачу сам.

Re: Используя классы, найти количество противоположных элементов в массиве.

Добавлено: 29 сен 2014, 12:33
Гцльшат
Romeo писал(а):Помогите написать или напишите? Первое готов делать, со всевозможными пояснениями и ликбезами любой уровни сложности. Второе делать не готов. Моё отношение к студенческим воплям о помощи: помоги, разъясни, но не навреди, сделав задачу сам.

Помочь написать. Я написала эту программу без использования классов, вот:

Код: Выделить всё

#include <iostream>
 
using namespace std;
 
const int n = 5;
 
int main(int argc, char *argv[])
{
    int a[n], count = 0;
    bool ok[n] = {false};
    for (int i = 0; i < n; ++i) cin >> a[i];
    for (int i = n-1; i >= 0; --i)
    {
        if (ok[i] || a[i] == 0) continue;
        for (int j = i-1; j >= 0; --j)
            if (ok[j] || a[j] == 0) continue;
            else if (a[i] == a[j]*-1)
            {
                ok[j] = ok[i] = true;
                count++;
                for (int k = 0; k < n; ++k)
                    if (a[i] == a[k] || -1*a[i] == a[k]) ok[k] = true;
            }
    }
    cout << count << endl;
    return 0;
}
Но надо написать с классами.. я не знаю как.. Можете помочь?

Re: Используя классы, найти количество противоположных элементов в массиве.

Добавлено: 07 окт 2014, 20:18
Romeo
Я не представляю, как сюда можно всунуть классы, если задача вовсе не требует этого. Если использование классов - это самоцель задания, и без использования классов преподаватель просто не отвяжется, то предлагаю сделать класс, который в качестве поля будет хранить входной массив, а так же будет содержать метод для подсчёта противоположных чисел. В таком случае в main нужно будет создать экземпляр класса, считать данные со стандартного ввода, проставить их в экземпляр (можно через сеттер), затем вызвать метод, считающий число противоположных и вывести его результат в стандартный поток вывода.