Рубрика «Массив»

Подпрограмма для обработки матрицы

Четверг, 10 Сен 2009

Написать подпрограмму обработки матриц. Подпрограмма должна создавать одномерный массив из максимальных элементов столбцов матрицы. Выполнить для 2 матриц различной размерности.

program 2matrici;
label start;
type aa=array[1..30,1..30] of real;
bb=array[1..30] of real;
var a:aa;
b:bb;
m,n,i,j,q:integer;
Procedure proc(var ap:aa; np,mp:integer; var bp:bb);
var ip,jp:integer;
max:real;
Begin
for jp:=1 to mp do
begin
bp[jp]:=ap[1,jp];
for ip:=1 to np do
begin
if ap[ip,jp]>bp[jp] then bp[jp]:=ap[ip,jp];
end;
end;
End;
BEGIN
start:
writeln(’Vvedite razmeri matrici (n-strok,m-stolbcov):’);
read(n,m);
writeln(’Vvedite matricu:’);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(a[i,j]);
end;
writeln;
end;
proc(a,n,m,b);
writeln(’Polucheni MAX elementi stolbcov:’);
for j:=1 to m do write(b[j]:5:2);
writeln;
writeln(’Nazgmite “1″ chtob prodolgit, “0″ -vihod’);
readln(q);
if q=1 then goto start;
readln;
end.

Узнать количество нужных элементов массива

Среда, 09 Сен 2009

Дан массив действительных чисел. Подсчитать количество элементов массива, значения которых больше среднего арифметического этого массива.

Program bolshsrarifm;
const n=10;
var
A:array [1..n] of real;
i,kvo:integer;
sum:real;
begin
writeln();
sum:=0;
for i:=1 to n do begin
A[i]:=random(100);
write(a[i],’ ‘);
sum:=sum+a[i];
end;
sum:=sum/n;
writeln();
kvo:=0;
for i:=1 to n do
if sum<a[i] then kvo:=kvo+1;
writeln(’Sred - ‘,sum,’ k-vo - ‘,kvo);
end.