Найти первый положительный элемент главной диагонали в каждом массиве - Pascal ABC

  1. Помогите пожалуйста , со всем не бум-бум с этим Паскалем ! Заданы три двумерных массива одинаковой размерности. Организовать ввод и вывод на экран массивов с использованием процедур программиста Найти первый положительный элемент главной диагонали в каждом массиве, используя функцию программиста. В том массиве, где значение первого положительного элемента больше всего, обнулить положительный элементы главной диагонали при помощи процедуры. Заранее благодарен!!!!!


textual

Код к задаче: «Найти первый положительный элемент главной диагонали в каждом массиве - Pascal ABC»

program dev9tb;
uses crt;
const n1=100;n2=100;
type matrix=array[1..n1,1..n2] of integer;
var n,m,k1,k2,k3:integer;
    a,b,c:matrix;
 
procedure RandomMatrix(var a:matrix; var n,m:integer);
var i,j:integer;
begin
for i:=1 to n do
  for j:=1 to m do
  a[i,j]:=-25+random(50);
end;
 
procedure PrintMatrix(a:matrix; n,m:integer);
var i,j:integer;
begin 
  for i:=1 to n do
  begin 
    for j:=1 to m do
    write(a[i,j]:5);
  writeln;
  end;
end;
 
function aa(a:matrix; n,m:integer):integer;
var i,j,p,k:integer;
begin
k:=0;
p:=0;
  for i:=1 to n do
  begin
    for j:=1 to m do
    begin
      if (i=j)and(a[i,j]>p) then 
        begin
        k:=1;
        p:=a[i,j];
        break;
        end;     
     end;
   if (k=1) then break;
   end;
aa:=p;
end;
 
procedure formagain(var a:matrix; n,m:integer);
var i,j,k:integer;
begin
for i:=1 to n do
begin
  for j:=1 to m do
    begin
    if (i=j) and (a[i,j]>0) then 
      begin a[i,j]:=0;k:=1;
      break;
      end;    
    end;
  if (k=1) then break;
end;
end;            
        
 
begin
randomize;
write('Введите кол-во строк матриц ');
readln(n);
write('Введите кол-во столбцов матриц ');
readln(m); 
RandomMatrix(a,n,m);
writeln('матрица А');
PrintMatrix(a,n,m);
RandomMatrix(b,n,m);
writeln('матрица B');
PrintMatrix(b,n,m);
RandomMatrix(c,n,m);
writeln('матрица C');
PrintMatrix(c,n,m);
writeln();
k1:=aa(a,n,m);
k2:=aa(b,n,m);
k3:=aa(c,n,m);
if (k1=0)and(k2=0)and(k3=0) then writeln('в матрицах нет положительных элементов на главной диагонали')
else
begin
if (k1>k2) and (k1>k3) then 
begin 
formagain(a,n,m);
writeln('изменили матрицу А: ');
PrintMatrix(a,n,m);
end;
if (k2>k1) and (k2>k3) then 
begin 
formagain(b,n,m);
writeln('изменили матрицу B: ');
PrintMatrix(b,n,m);
end;
if (k3>k1) and (k3>k2) then
begin 
formagain(c,n,m);
writeln('изменили матрицу C: ');
PrintMatrix(c,n,m);
end;
end;
end.

СДЕЛАЙТЕ РЕПОСТ

11   голосов, оценка 3.909 из 5



Похожие ответы
  1. Дано положительное число E, и последовательность а1, а2, а3 ..., образованная по следующему закону: Найти первый член последовательности, для которого выполняется условие: abs(an-an-1)

  1. Написать программу для создания файла с записью массива из n элементов в диапазоне от [-30;30]. Программа для обработки массива в соответствии с заданием, массив считывается из ранее созданного файла. Поменять местами максимальный элемент и первый. Нужно две программы: одна создает файл а вторая считывает.

  1. Дано число а. Определить первый отрицательный член последовательности x1,x1,x3,...,xn, где x1=а, xn=tg(xn-1) не могу разобраться с этим помоги, очень срочно

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

  1. Дан одномерный целочисленный массив из N элементов. Удалить из него первый элемент массива, кратный 3

  1. Дана задача: Написать программу для решения следующей задачи. В двумерном массиве, состоящем из целочисленных элементов, поменять местами в каждой строке наибольший нечетный по значению и последний положительный элементы. Смог сделать все условия,но вот поменять местами числа не могу. Добавьте,пожалуйста,в мой код смену местами или исправьте,если что-то не так.

  1. Дан двумерный квадратный массив. Переставить столбец и строку, в которой находится первый отрицательный элемент. Если такого элемента нет, то выдать сообщение

  1. Добрый день. мне нужно исправить программу(думаю процедуру замена) {Написать процедуру, которая в заданном одномерном массиве меняет местами максимальный и первый элемент.Применить эту процедуру к каждому столбцу заданной прямоугольной матрицы}

  1. Заполнить массив из 10 элементов случайными числами в интервале [-50;50]. Вывести массив на экран. Удалить первый отрицательный элемент. Вывести на экран в строку получившийся массив.

  1. Написать программу изменения элементов массива. Если элемент четный, то прибавить к нему первый, если нечетный - последний массива. Первый и последний элементы не изменять.