
Adriern
6 год назад
Дан массив А(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.
ОТВЕТЫ

Parfyonovich
Aug 9, 2019
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 gt; 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.
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 gt; 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.
296
Смежные вопросы: