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

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

Войти
Регистрация
Восстановить пароль
 
 
w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
#1

Определить, есть ли среди элементов массива такие, которые равны сумме двух других - C++

23.11.2012, 01:21. Просмотров 572. Ответов 17
Метки нет (Все метки)

Дано натуральное число n и целые числа a(1), a(2), ..a(n) (n<100). Определить, есть ли среди этих чисел такие, которые равны сумме двух других. Напечатать эти числа в форме a(k) = a(i) + a(j)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream> 
 
using namespace std; 
 
int main () 
{ 
int *a,n,i,j,k; 
cin>>n; 
a = new int [n]; 
for (i = 0; i < n; i++) 
cin >> a; 
for (i = 0; i < n; i++) 
for (j = 0; j < n; j++) 
for (k = 0; k < n; k++) 
if (i != j && i != k && j != k && a[j] + a[k] == a) 
cout << a << " = " << a[j] << " + " << a[k] << endl; 
return 0; 
}
или что нужно вводить в окне программы, чтобы она что-то вообще выдавала?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 01:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, есть ли среди элементов массива такие, которые равны сумме двух других (C++):

удаление элементов массива, которые равны сумме предыдущего и следующего элементов - C++
Нужно написать подпрограмму которая удаляет элементы массива, которые равны сумме предыдущего и следующего элементов

Узнать, есть ли среди элементов массива элементы с нечетными номерами, которые кратны 17, и если есть, посчитать их сумму - C++
Проблема с заданием. Дан одномерный массив. Узнать, есть ли среди них элементы с нечетными номерами, которые кратны 17, и если есть,...

Среди элементов массива найти индексы всех таких, которые могут быть получены cуммированием двух элементов - C++
Вот задачка помогите, ЛЮДИ Среди элементов массива найти индексы всех таких, которые могут быть получены cуммированием двух элементов...

Определить, есть ли среди элементов массива простые числа... - C++
очень прошу помогите, никак у меня не получается=( задание такое:. Задан целочисленный массив размерности N. Определить, есть ли среди...

Найти двузначные числа такие что равны сумме его цифр плюс квадрат их разности - C++
нужно составить программу в С++ с использованием цикла for Если к сумме цифр двузначного числа прибавить квадрат разности цифр, то...

В массиве натуральных чисел определить хотя бы один элемент, представимый в виде суммы квадратов двух других элементов этого массива - C++
Задачка звучит так . В массиве натуральных чисел определить хотя бы один элемент, представимый в виде суммы квадратов двух других...

17
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.11.2012, 01:26 #2
Окно появляется на доли секунды и исчезает

Добавлено через 30 секунд
Цитата Сообщение от w0nder Посмотреть сообщение
C++
1
cin >> a;
C++
1
cin >> a[i];
Добавлено через 1 минуту
Цитата Сообщение от w0nder Посмотреть сообщение
или что нужно вводить в окне программы, чтобы она что-то вообще выдавала?
уверены что условие в 16-й строке выполняется?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
23.11.2012, 01:30 #3
C++
1
a = new int [n];
а убирать кто будет?
C++
1
delete []a;
0
w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
23.11.2012, 01:32  [ТС] #4
delete []a;

а куда его?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
23.11.2012, 01:37 #5
Цитата Сообщение от w0nder Посмотреть сообщение
delete []a;

а куда его?
туда, после чего массив уже не нужен. Например, перед return.
0
Ksata
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 24
23.11.2012, 01:37 #6
перед return, очищение памяти)
0
w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
23.11.2012, 01:49  [ТС] #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
int main ()
{
int *a,n,i,j,k;
cin>>n;
a = new int [n];
for (i = 0; i < n; i++)
cin >> a[i];
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
for (k = 0; k < n; k++)
if (i != j && i != k && j != k && a[j] + a[k] == a)
cout << a << " = " << a[j] << " + " << a[k] << endl;
delete []a;
return 0;
}
выдает ошибку на строчку с if-ом(
0
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
23.11.2012, 01:59 #8
Цитата Сообщение от w0nder Посмотреть сообщение
a[j] + a[k] == a
вы сравниваете int с указателем на адрес первого элемента массива. нужно сравнивать с конкретным элементом, a[n] например
0
w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
23.11.2012, 02:09  [ТС] #9
Вообще даже если убрать строчку, все равно прога не выдает ничего :С
0
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
23.11.2012, 02:12 #10
Цитата Сообщение от w0nder Посмотреть сообщение
все равно прога не выдает ничего
перед return нужно добавить cin.get() или system("pause")
1
booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
23.11.2012, 02:14 #11
if (i != j && i != k && j != k && a[j] + a[k] == a)

а если один из множителей равен 0 уже не тру)

ах да извиняюсь речь о целых числах

ноль целое число?
0
w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
23.11.2012, 02:17  [ТС] #12
Цитата Сообщение от StanislavUA Посмотреть сообщение
перед return нужно добавить cin.get() или system("pause")
Все равно прога на числа не реагирует никак, только на ввод символов ерунду какую-то выдает
0
booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
23.11.2012, 02:22 #13
кстати да, ноль целое число))

Добавлено через 3 минуты
загони числа в массив и сравнивай n++ c (n+(++n))
0
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
23.11.2012, 02:22 #14
Цитата Сообщение от w0nder Посмотреть сообщение
cout << a
вы выводите на экран адрес первого элемента
0
w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
23.11.2012, 02:26  [ТС] #15
Цитата Сообщение от StanislavUA Посмотреть сообщение
вы выводите на экран адрес первого элемента
я не понимаю все равно, что делать надо, руки не из того места(
0
23.11.2012, 02:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 02:26
Привет! Вот еще темы с ответами:

Определить, равны ли максимумы среди элементов выше и ниже диагоналей матрицы - C++
Помогите пожалуйста составить программу: Определить, равны ли максимумы среди элементов выше и ниже диагоналей. Заранее Благодарю)

Найти натуральные числа которые равны сумме факториалов их цифр - C++
помогите пожалуйста написать программу,которая найдет все натуральные числа,меньше чем MAXINT, такие ,что они равны сумме факториалов...

Среди чисел найти все, у которых сумма первых двух равна сумме последних двух - C++
Помогите пожалуйста решить задание: среди четырехзначных чисел из интервала, заданного пользователем, найти все, у которых сумма первых...

Подсчитать количество элементов массива с одинаковым местоположением, которые равны - C++
Даны два массива равной длины.Подсчитать количество элементов с одинаковым местоположением, которые: а) равны б)элемент первого массива...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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