Страница 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 нужно будет создать экземпляр класса, считать данные со стандартного ввода, проставить их в экземпляр (можно через сеттер), затем вызвать метод, считающий число противоположных и вывести его результат в стандартный поток вывода.