СПРОСИ ПРОФИ
👍
0
👎 00

Помочь с задачей по c++

Реально долго пытался решить, но некоторые тесты не проходят(не показывает входных данных)
ограничение по времени на тест3 секунды
ограничение по памяти на тест4 мегабайта
вводстандартный ввод
выводстандартный вывод
Дано n
чисел. Требуется найти их сумму.

Как найти сумму двух чисел, мы уже прошли. А как найти сумму 5
, 10
, 100
чисел, не записывая каждое сложение вручную?

Пусть требуется сложить пять чисел a
, b
, c
, d
и e
. Напишем очевидные, вроде бы, равенства:

a+b+c+d+e=(a+b+c+d)+e=((a+b+c)+d)+e= ...
Отсюда следует, что чтобы найти сумму каких-нибудь n
чисел, можно сначала найти сумму n−1
-го числа и затем прибавить к ней последнее n
-е число. Это значит, что можно создать переменную для суммы и прибавлять к ней числа по очереди.

Но всё же что делать, если надо сложить n
чисел, где n
– величина пока неизвестная? Что делать, если количество однотипных операций неизвестно до того, как начнёт работать программа?

Для этого используются циклы. В C++ операторов циклов три: while — цикл с предусловием, do-while — цикл с постусловием и for — цикл со счётчиком.

В случае, когда количество операций известно заранее, проще всего использовать цикл со счётчиком.

Синтаксис for как цикла со счётчиком выглядит следующим образом:

for(объявление переменной-счётчика ; условие выполнения цикла ; изменение счётчика) {

Команды в цикле

}

Например, если мы хотим вывести через пробел числа от 1
до n
включительно, код будет выглядеть следующим образом:

for(int i = 1; i ⇐ n; i++) {

cout << i << ' ';

}

При n=10
вывод будет следующим:

1 2 3 4 5 6 7 8 9 10

Оператор ++
означает увеличение на единицу (инкремент). Прочитайте подробнее об операторах ++
и −−
здесь.

Входные данные
В первой строке ввода дано целое число n
— количество вводимых значений.

В следующей строке дано n
целых чисел ai
.

1≤n≤105,−105≤ai≤105
Выходные данные
Выведите единственное целое число — сумму чисел ai
для всех i
от 1 до n
.
вот мой код:

#include <iostream>
using namespace std;

int main()
{
unsigned int a;
int t = 0, e;
cin >> a;
for (int i = 1; a >= i; i++){
cin >> e;
t += e;
}
cout << t;
return 0;
}

Задайте свой вопрос по программированию
профессионалам

Сейчас онлайн 75 репетиторов по программированию
Получите ответ профи быстро и бесплатно
ASK.PROFI.RU © 2020-2024