Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38

Профиль | Отправить PM | Цитировать


Разобраться с кодом не смог , может потому, что писала блондинка ))), поэтому написал свое решение
Код: Выделить весь код
 
program OSZone;
{This program created by e-Hector}
uses crt;
type
mt=array[1..10,1..10] of integer;
ms=array[1..10] of integer;
var
A, B:mt;
A1, B1, A2, B2:ms;
i, j:integer;
const
h=4;

procedure gl_diag (var m:mt; var r:ms); {Выделение главной диагонали в массив}
var
k:integer;
begin
k:=1;
for i:=1 to h do
  for j:=1 to h do
    if i=j then
     begin
     r[k]:=m[i,j];
     k:=k+1;
     end;
end;

procedure sort(var r, g:ms); {Создание сортированного массива}
var
buf:integer;
begin
for i:=1 to h do
  g[i]:=r[i];
for i:=1 to h-1 do
  for j:=i to h do
   if g[i]<g[j] then
    begin
    buf:=g[i];
    g[i]:=g[j];
    g[j]:=buf;
    end;
end;

function srz(g:ms):real; {Вычисление средне арифметического}
var
s:integer;
begin
s:=0;
for i:=1 to h do
s:=s+g[i];
srz:=s/h;
end;

procedure out_mass (g:ms); {Вывод массива}
begin
write('[ ');
for i:=1 to h do
  write(g[i],' ');
writeln(']');
end;

begin                         {Основная программа}
clrscr;
randomize;
for i:=1 to h do              {Заполнение матрицы А}
  for j:=1 to h do
   A[i,j]:=random(10);
for i:=1 to h do              {Формирование матрицы В}
  for j:=1 to h do
   if i>j then B[i,j]:=2*i+j
          else B[i,j]:=i+2*j;
gl_diag(A,A1);
gl_diag(B,B1);
sort(A1,A2);
sort(B1,B2);
writeln('Matrica B');
for i:=1 to h do
  begin
  for j:=1 to h do
  write(B[i,j],' ');
  writeln;
  end;
write('Massiv A1 ');
out_mass(A1);
write('Massiv B1 ');
out_mass(B1);
write('Massiv A2 ');
out_mass(A2);
write('Massiv B2 ');
out_mass(B2);
writeln('Srednee A2: ',srz(A2):2:2);
writeln('Srednee B2: ',srz(B2):2:2);
readln;
end.

-------
Information must be free!
Нет границ, есть только препятствия


Отправлено: 19:50, 07-01-2010 | #3