Автор: Пользователь скрыл имя, 07 Июня 2012 в 12:06, задача
Задан массив A(N) (N<=50)
Отпечатать положительные элементы массива A и их количество
Задание №1
1.1 Условие задачи
Задан массив A(N) (N<=50)
Отпечатать положительные элементы массива A и их количество
1.2 Блок-схема алгоритма
1.3
Программа на языке
TURBO PASCAL
uses crt;
var i,n,x:integer;
a:array[1..100] of integer;
begin clrscr;
write('Введите количество элементов массива N (N<=50)):');
readln(n);
writeln('Исходный массив:');
for i:= 1 to n do begin
a[i]:=random(20)-10;
write(' A(',i,')=',a[i]);
end;
writeln;
writeln('Положительные элементы:');
for i:= 1 to n do begin
if a[i]>0 then begin
write(' A(',i,')=',a[i]);
x:=x+1;
end;
end;
writeln;
writeln('Количество положительных элементов - ',x);
readkey;
end.
1.4 Тестовый пример
Задание №2
2.1 Условие задачи
Задана матрица E(N,M) (N<=15, M<=20).
Отпечатать номера и средние арифметические тех строк, которые начинаются с 1. Если таких строк не окажется, то выдать соответствующее сообщение.
2.2 Блок схема алгоритма
2.3 Программа на языке TURBO PASCAL
uses crt;
var i,j,n,m:integer;
x,x1,y:real;
a:array[1..100, 1..100] of integer;
begin clrscr;
write('Введите количество столбцов массива N (N<=15)):');
readln(n);
write(' Введите количество строк массива M (M<=20)):');
readln(m);
writeln('исходный массив:');
for i:= 1 to m do begin
for j:= 1 to n do begin
a[i,j]:=random(20)-10;
write(' ',a[i, j]);
end;
writeln;
end;
for i:= 1 to m do begin
x:=0;
for j:= 1 to n do begin
x:=x+a[i,j];
end;
if a[i,1]=1 then begin
y:=y+1;
x1:= x / n;
writeln('Строка N',i,' Начинается с 1');
writeln('Среднее арифметическое строки ',i,' =',x1:3:3);
end;
end;
if y = 0 then writeln('Строк начинающихся с 1 нет');
readkey;
end.
2.4
Тестовый пример