Дан массив А(m), меньше или равно 20. Ввести ** печать сумму элементов массива, Если она...

0 голосов
66 просмотров

Дан массив А(m), меньше или равно 20. Ввести на печать сумму элементов массива, Если она превосходит число 50, В противном случае вывести в печать исходный массив.
Написать программу , только прошу с интернета не брать, там программы не работают, свою программу я написала, но что-то выдаёт не так, помогите, пожалуйста.


image

Информатика (29 баллов) | 66 просмотров
0

текст программы выложи текстом а не рисунком, перепичатывать никто не будет плюс размыт рисунок и шрифт ужас

Дан 1 ответ
0 голосов
Правильный ответ

Вот самый короткий способ с рандомным массивом, про ввод тут не совсем понятно

//PascalABC.Net 3.1.0.1200
begin
    var a := ArrRandomInteger(ReadInteger('m ='), 1, 20);
    var s := a.Sum;
    if s > 50 then
        writeln(s)
    else
        Println(a);
end.

вот переделанный ваш код

//PascalABC.Net 3.1.0.1200
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.

(55.0k баллов)
0

вообще могу. сегодня - не знаю, и только при условии что вы дадите ваш код в виде текста а не рисунком.

0

Program mass5v;
Uses crt;
Const nmax=20;
Type mas=array[1..nmax] of integer;
Var
A: mas;
I,m,s:integer;

0

Am, con: text;
Begin
Clrscr;
Assign(Am,'Am.txt');
Assign(kon,'kon.txt');
Reset(Am);
Rewrite(kon);

0

Write('Введите размер массива m=');
Readln(m);
S:=0;
For I:=1 to m do
Begin
Read(Am, A[i]);

0

S:=s+A[i];
End;
Writeln;
Writeln(kon);
If s<=50 then<br>Begin
Writeln('Сумма элементов менее 50, вывод исходного массива);

0

For I:=1 to m do
Begin
Write('A[',i,']=',A[i],' ');
Write(kon,'A[',i,']=',A[i],' ');
End;
End
Else

0

Writeln('сумма элементов массива более 50 и равна: s=',s);
Close(Am);
Close(kon);
Readkey;
End.

0

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);}

0

{считывание данных из файла}
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);

0

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.