-1
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;

int main () {
unsigned long long int A[1000000000], S, s;
ifstream infile ("input.txt");
ofstream outfile ("output.txt");
int N, x;

while ( !infile.eof() ) {
    infile >> N;
    for( int i=0; i<N; ++i ){
        infile >> A[i];
        S = S + A[i];
    }
    s = sqrt(S);
    outfile << s;
    S = 0;
}
return 0;
} 
Mikhajlo
  • 12,592
  • Переполнение размера стека для unsigned long long int A[1000000000]. В линукс размер 8Мбайт. В винде 1Мбайт. – AlexGlebe Dec 05 '20 at 09:41
  • теперь ничего не выводит в файл – Дмитрий Dec 05 '20 at 09:44
  • Не испольуйте никакие массивы. Считайте по одному числу. – AlexGlebe Dec 05 '20 at 09:46
  • 1
    Переменные S и s никак не инициализированы – gbg Dec 05 '20 at 09:46
  • а как тогда без массива, если заранее не известно количество чисел – Дмитрий Dec 05 '20 at 09:49
  • Ну... Просто заведите еще одну переменную, и вместо A[i] напишите название переменной. – HolyBlackCat Dec 05 '20 at 10:07
  • 1
    Ознакомьтесь, кстати, с этим вопросом - https://ru.stackoverflow.com/q/833980/195342 – Harry Dec 05 '20 at 10:17

1 Answers1

1

Попробуйте так:

int main ()
{
    ifstream infile ("input.txt");
    ofstream outfile ("output.txt");
for(unsigned long long N, S; infile &gt;&gt; N; )
{
    S = 0;
    for(unsigned long long i = 0, x; i &lt; N; ++i )
    {
        infile &gt;&gt; x;
        S += x;
    }
    outfile &lt;&lt; sqrt(S) &lt;&lt; endl;
}

}

Типы данных сохранил ваши, хотя и не уверен в их необходимости.

Harry
  • 221,325