program matr;
uses crt;
type Matr=array[1..20,1..20] of integer;
Mas=array[1..20] of integer;
var A,B: Matr;
A1,B1: Mas;
i,j,n1,m1,n2,m2,min,im,k: integer;
procedure Vvod_Matr(var A: Matr;
m,n: integer);
var i,j:integer;
begin
for i:=1 to m do
for j:=1 to n do
read(A[i,j])
end;
procedure Charact(X: Matr;
var C1:Mas;
m,n: integer);
var ch,i,j: integer;
begin
for j:= 1 to n do
begin
ch:=0;
for i:= 1 to m do
if (X[i,j]<0) and odd(X[i,j]) then
ch:=ch+abs(X[i,j]);
C1[j]:=ch;
end;
end;
procedure Sort(var X:Matr;
var C1:Mas;
k,m,n:integer);
var i,min,im,x1,x2,l,t: integer;
begin
for i:=1 to n-1 do
begin
min:=C1;
im:=1;
k:=i;
for j:=i+1 to n do
if (min>C1[j]) then
begin
min:=C1[j];
k:=j;
im:=i
end;
x1:=C1[im];
C1[im]:=C1[k];
C1[k]:=x1;
end;
for i:=1 to m do writeln(C1,' ')
{массив С1 сортируется. Необходимо отсортировать Х}
end;
procedure Vyvod_Matr(X:Matr;
m,n:integer);
var i:integer;
begin
for i:=1 to m do
begin
for j:=1 to n do
write(X[i,j],' ');
writeln
end
end;
begin
clrscr;
writeln('vvedite razmernost A');
read(m1,n1);
writeln('vvedite A');
Vvod_Matr(A,m1,n1);
Charact(A,A1,m1,n1);
Sort(A,A1,k,m1,n1);
Vyvod_Matr(A,m1,n1);
writeln('vvedite razmernost B');
read(m2,n2);
writeln('vvedite B');
Vvod_Matr(B,m2,n2);
Charact(B,B1,m2,n2);
Sort(B,B1,k,m2,n2);
Vyvod_Matr(B,m2,n2);
end.
Пара задач, Pascal (двумерный массив, геометрия)
1. Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик (должно работать с двумя матрицами с разным количеством строк и столбцов).
Также к этой задаче имеется недописанный код:
Код:
2. Определить радиус и центр окружности, на которой лежит наибольшее число точек заданного на плоскости множества точек.
В обоих задачах необходимо оформлять все через процедуры и функции.
Заранее благодарна откликнувшимся ^^