написать программу на С++, желательно более простыми командами,заранее . На вход программе подаётся: в первой строке — число N (5 < N < 109
). В каждой
из последующих N строк — по одному элементу последовательности — натуральные числа, не превышающие 109
. Напишите эффективную, в том числе и по используемой памяти, программу, которая выводит на экран максимальную сумму
двух элементов этой последовательности, номера которых различаются не меньше
чем на 5.

антонl антонl    3   24.06.2021 16:15    0

Ответы
buzaeva2013 buzaeva2013  24.07.2021 16:17

Код программы;

#include <iostream>

#include <locale>

using namespace std;

int main(void) {

srand(time(NULL));

setlocale(LC_ALL, "Russian");

int *mas, N, max, i , j;

cout << "Введите N" << endl;

cin >> N;

if (N > 5 && N < 109) {

 mas = new int[N];

 cout << "Введите числа:" << endl;

 for (i = 0; i < N; i++)

  cin >> mas[i];

 max = mas[0] + mas[5];

 for (i = 0; i < N; i++) {

  if (i + 5 >= N)

   break;

  for (j = i+5; j < N; j++) {

   if (mas[i] + mas[j] > max)

    max = mas[i] + mas[j];

  }

 }

 cout << "\nМаксимальная сумма = "<< max << endl;

 delete mas;

}

else

 cout << "Ошибка. Заданное значение N не соответствует условию: 5 < N < 109" << endl;

return 0;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика