Другие языки программирования и технологии

Помогите пожалуйста написать маленькую программу в С++, массивы (внутри)

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

using namespace std;

int main() {
    srand(time(0));
    int n;
    cout << "n? ";
    cin >> n;
    int *a = new int[n];
    cout << "array:";
    for (int c = 0; c < n; ++c) cout << ' ' << (a[c] = rand() % 100);
    cout << '\n';
    for (int k = 0; k < n; ++k) {
        for (int r = 0; r < n; ++r) {
            for (int c = r + 1; c < n; ++c) {
                if (k != r && k != c && a[k] == a[r] + a[c]) {
                    cout << "a[" << k << "] = " << "a[" << r << "] + a[" << c << "]\n";
                }
            }
        }
    }
    delete[] a;
    return 0;
}
Даулет Тусупов
Даулет Тусупов
63 749
Лучший ответ

Похожие вопросы