Ваша программа почти работает. Все, что вам нужно сделать, это сделать n
больше. unsigned short
ограничено на 65 535. Увеличьте его до unsigned int
, чтобы он мог обрабатывать значения до 100 000.
Кроме этого, переменная rez
не нужна. Вы можете удалить его.
Кроме того, нет необходимости сначала сохранять все числа, а затем вычислять суммы. Вычисление их как вы go будет работать просто отлично. cin
и cout
являются независимыми потоками данных, и можно чередовать операции чтения и записи. Старайтесь не хранить их в векторе или массиве, поскольку они просто бесполезно жуют много памяти.
#include <iostream>
int main()
{
unsigned n;
std::cin >> n;
for (unsigned i = 0; i < n; i++)
{
long n2, n3;
std::cin >> n2 >> n3;
std::cout << (n2 + n3) << std::endl;
}
return 0;
}
Примечания по стилю:
- Избегайте
using namespace std;
. Лучше выписать std::
везде. - Я переместил
n2
и n3
внутрь l oop. Попытайтесь объявить переменные как можно позже, чтобы ограничить их область видимости, а не объявлять их все в верхней части функции. Это делает очевидным, что они используются только внутри l oop и что их значения не сохраняются в течение итераций. - Добавьте пробелы вокруг операторов. Трудно читать все вместе.