Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрицы и подпрограммы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
1nSAnder
Помогите, пожалуйста, решить 3 задачи на подпрограммы. Это лаб. работы 1-го курса ФАТ,ВолгГТУ.

№1. В каждой строке матрицы С(n,m) (n<=10, m<=15) упорядочить элементы, стоящие после минимума.

№2. В матрицах P(n,n) и Q(m,m) (n<=15, m<=12)найти сумму положительных элементов в вернем и нижнем треугольнике соответственно. Вычисление сумм в ОДНОЙ подпрограмме.

№3. В матрицах A(n,m) и B(m,n) заменить элементы строк, в которых находятся максимальные элементы на значения сумм отрицательных элементов соответствующих матриц.
...буду премного благодарен!!! smile.gif
klem4
1)
Вроде похоже на правду

uses crt;
const n=4;
     m=5;
var x:array[1..n,1..m] of integer;
   i,j,k,min:integer;
   nfind:integer;

procedure bubble;
var flagsort:boolean;
   t:integer;
begin
  if k<>m then
  repeat
     flagsort:=true;
     for k:=nfind+1 to m-1 do
      if not (x[i,k]<=x[i,k+1]) then
       begin
          t:=x[i,k];
          x[i,k]:=x[i,k+1];
          x[i,k+1]:=t;
          flagsort:=false;
       end;
   until flagsort;
end;

Begin
  clrscr;
  randomize;
  for i:=1 to n do
   begin
      for j:=1 to m do
       begin
          x[i,j]:=random(6);
          write(x[i,j]);
          write(' ');
       end;
      writeln;
   end;

  for i:=1 to n do
   begin
      min:=x[i,1];
      nfind:=1;
      for j:=2 to m do
       if x[i,j]<min then
        begin
           nfind:=j;
           min:=x[i,nfind];
        end;
  bubble;
 end;
 writeln;
  for i:=1 to n do
   begin
      for j:=1 to m do
       begin
          write(x[i,j]);
          write(' ');
       end;
      writeln;
   end;
 readln;
end.

klem4
2)

 uses crt;
const n=5;
var x:array[1..n,1..n] of integer;
i,j:integer;

procedure summ;
var s:integer;
begin
s:=0;
for i:=1 to n div 2 do
for j:=i+1 to n-i do
inc(s,x[i,j]);
for i:=n downto n div 2 do
for j:=n-i+2 to i-1 do
inc(s,x[i,j]);
writeln('s=',s);
end;
Begin
clrscr;
randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
x[i,j]:=random(6);
write(x[i,j]:2);
write(' ');
end;
writeln;
end;
summ;
readln;
end.


ЗЫ мне предыдущие сообщение форум не засчитал почему-то sad.gif

Вот собака! а теперь поставил что 2! прошу прощения smile.gif

3)
uses crt;
const n=3;
m=4;
var x:array[1..n,1..m] of integer;
i,j,max,s:integer;
newi:integer;

Begin
clrscr;
randomize;
s:=0;
for i:=1 to n do
begin
for j:=1 to m do
begin
x[i,j]:=random(6)-random(11);
write(x[i,j]:3);
write(' ');
if x[i,j]<0 then
inc(s,x[i,j]);
end;
writeln;
end;
max:=x[1,1];
newi:=1;
for i:=1 to n do
for j:=1 to m do
if x[i,j]>=max then
begin
newi:=i;
max:=x[i,j];
end;

for j:=1 to m do
x[newi,j]:=s;
writeln;
for i:=1 to n do
begin
for j:=1 to m do
begin
write(x[i,j]:3);
write(' ');
end;
writeln;
end;
readln;
end.
1nSAnder
Спасибо! Надеусь разберусь... Я, право, не ожидал! smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.