Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Type tmas=array[1..100,1..100] of word;
tvect=array[1..100] of word;
Var a:tmas;
v:tvect;
n,m,k:byte;
i,j:byte;
Procedure FORM(var x:tmas; {матрица}
n,m:byte; {количество строк и столбцов}
Var r:tvect; {результат - вектор}
var k:byte); {длина полученного вектора}
Var i,j,z,s:byte;
f:boolean;
Function pros(b:word):boolean;
{функция проверки простого числа}
Var i:word;
Begin
If b<>1 then pros:=true
else pros:=false;
For i:=2 to b div 2 do
If b mod i = 0 then pros:=false;
End;
Begin
k:=0;
For j:=1 to m do
Begin
z:=0; s:=0; f:=true;
For i:=1 to n-1 do
Begin
If x[i,j]>x[i+1,j] then z:=z+1;
If x[i,j]<x[i+1,j] then s:=s+1
End;
If (z = n-1) or (s = n-1) then
Begin
For i:=1 to n do
If not(pros(x[i,j])) then f:=false;
If f then
Begin
k:=k+1; r[k]:=j
End;
End;
End;
End;
Begin
Writeln('Введите N и M:');
Readln(n,m);
Writeln('Введите матрицу:');
For i:=1 to n do
For j:=1 to m do
Readln(a[i,j]);
FORM(a,n,m,v,k);
Writeln('Результат:');
For i:=1 to k do
Write(v[i],' ');
Readkey
End.
В этом примере в процедуру передаются входные данные: двумерный массив и его размерность. Массив передается как параметр-переменная, чтобы в процедуре не выделялась память для его копии. Результаты: вектор и его размерность обязательно передаются как параметры-переменные. Функция проверки простого числа является внутренней для процедуры и недоступна из главной программы.
Дата публикования: 2014-11-04; Прочитано: 205 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!