Меню сайта
Категории раздела
Мини-чат
Наш опрос
Оцените мой сайт
Всего ответов: 18
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Задачи » Pascal » Двумерные (матрицы)

Cумма элементов в каждой строке матрицы
Условие задачи:
Определить сумму элементов в каждой строке матрицы. Если минимальная из этих сумм положительная, то поменять местами вторую и третью строки. Иначе удалить столбец с максимальным числом отрицательных элементов.

Code
program Tasks;
uses crt;

var A:array[1..50,1..50] of integer;
  B,C:array[1..50] of integer;
  i,j,n,summa,min,count,max_c:integer;
   
procedure exchange(var a,b:integer);
var c:integer;
begin
c:=a; a:=b; b:=c; end;

{----------------------------------------------------}
begin
write('Razmer matritsy= '); readln(n);

for i:=1 to n do
for j:=1 to n do begin write ('A[',i,',',j,']= '); readln (A[i,j]); end;

clrscr;
write('A:');
for i:=1 to n do begin writeln;
for j:=1 to n do write (A[i,j]:8); end;
writeln;writeln;

  for i := 1 to n do begin summa:=0;
  for j := 1 to n do
  summa:=summa+A[i,j]; B[i]:=summa;
  end;

min:=B[1];
for i :=2 to n do
if B[i]<min then min:=B[i];
writeln;writeln;
writeln('Min= ',min);
writeln;writeln;

if min>=0 then
  begin
  for j:=1 to n do exchange (A[2,j],A[3,j]);
  write('A:');
  for i:=1 to n do begin writeln;
  for j:=1 to n do write (A[i,j]:8); end;
  end
  else
  begin
  for j:=1 to n do
  begin
  count:=0;
  for i:=1 to n do
  if A[i,j]<0 then inc(count);
  C[j]:=count;
  max_c:=1;
  for i:=2 to n do
  if C[i]>C[max_c] then max_c:=i;
  end;
   
  for i:=1 to n do
  for j:=max_c+1 to n do A[i,j-1]:=A[i,j];

  write('A:');
  for i:=1 to n do begin writeln;
  for j:=1 to n-1 do write (A[i,j]:8); end;
   
  end;
   

readln;
end.
Категория: Двумерные (матрицы)    »    Просмотров: 2366    »    Комментарии: 0    »    Добавил: Гость
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мини-профиль
Партнеры сайта
Статистика сайта
Онлайн всего: 1
Гостей: 1
Пользователей: 0