Дан массив а(m), меньше или равно 20. ввести на печать сумму элементов массива, если она превосходит число 50, в противном случае вывести в печать исходный массив. написать программу , только с интернета не брать, там программы не работают, свою программу я написала, но что-то выдаёт не так, , . program mass5v; uses crt; const nmax=20; type mas=array[1..nmax] of integer; var a: mas; i,m,s: integer; am, con: text; begin clrscr; assign(am,'am.txt'); assign(kon,'kon.txt'); reset(am); rewrite(kon); write('введите размер массива m='); readln(m); s: =0; for i: =1 to m do begin read(am, a[i]); s: =s+a[i]; end; writeln; writeln(kon); if s< =50 then begin writeln('сумма элементов менее 50, вывод исходного массива); for i: =1 to m do begin write('a[',i,']=',a[i],' '); write(kon,'a[',i,']=',a[i],' '); end; end else writeln('сумма элементов массива более 50 и равна: s=',s); close(am); close(kon); readkey; end.

007ek 007ek    3   09.08.2019 18:00    2

Ответы
ушкаа ушкаа  04.10.2020 07:47
Uses crt;
const
    nmax = 20;

var
    A: array[1..nmax] of integer;
    I, m, s: integer;
    Am, kon: text;

begin
    Clrscr;
    Assign(Am, 'Am.txt');
    
    {раскоментировать для записи массива в файл}
    {Rewrite(Am);
    m := Random(nmax - 5) + 5;
    for i := 1 to m do
        Writeln(Am, Random(20));
    Close(Am);}
    
    {считывание данных из файла}
    Reset(Am);
    s := 0;
    m := 0;
    while not eof(Am) do
    begin
        m := m + 1;
        Readln(Am, A[m]);
        s := s + A[m];
    end;
    Close(Am);
    
    Assign(kon, 'kon.txt');
    Rewrite(kon);
    
    if s > 50 then
        Writeln('Сумма элементов массива более 50 и равна: s=', s)
    Else
    begin
        Writeln('Сумма элементов менее 50, вывод исходного массива');
        for i := 1 to m do
        begin
            Writeln('A[', i, ']=', A[i], ' ');
            Writeln(kon, 'A[', i, ']=', A[i], ' ');
        end;
    end;
    
    Close(kon);
    Readkey;
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика