• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Обработка матриц

STALKER1992

Ученик
Регистрация
21 Дек 2010
Сообщения
10
Реакции
0
Баллы
0
Обработка матриц

Люди глянте что не так не поиму чет!
Код:
program n10;
uses crt;
const n=10;
var
B:array[1..n, 1..n] of integer;
i,j,k,m:byte;
begin clrscr;
writeln('----исходная матрица B');
randomize;
For I:=1 to n do
For j:=1 to n do
b[i,j]:=Trunc(Random*90)+10;
For i:=1 to n do Begin
For j:=1 to n do
write (b[i,j],'  ');
writeln;
end;
    for i:=1 to n-1 do
    for j:=1 to n-1 do  begin
    if b[1,i]>b[1,i+1] then begin
          for m:=1 to n do begin
          k:=b[m,i];
          b[m,i]:=b[m,i+1];
          b[m,i+1]:=k;
              end;
            end;
           end;
writeln('-----отсортированная матрица B  ');
for i:=1 to n do   begin
for j:=1 to n do write(b[i,j],'  ');
writeln;
end;
end.
Заранее спасибо!
 
А где формулировка задания? Или Вы предлагаете нам восстанавливать задачу по неправильно работающей программе? Спасибо, конечно, но нам есть чем заняться.
 
забыл

Дана матрица K(nxn). Написать программу, которая упорядочивает столбцы этой матрицы по возрастанию.
 
Да, несколько Вы запутались с методом пузырька. Правильно так:
Код:
program n10;
uses crt;
const n=10;
var
 B:array[1..n, 1..n] of integer;
 i,j,k,m:byte;
begin
 clrscr;
 writeln('----исходная матрица B');
 randomize;
 For I:=1 to n do
  For j:=1 to n do
   b[i,j]:=Trunc(Random*90)+10;
 For i:=1 to n do
  Begin
   For j:=1 to n do
    write (b[i,j],'  ');
   writeln;
  end;
[COLOR=Red] for i:=1 to n-1 do
  for j:=1 to n-i do {Именно n-[B]i[/B], а не n-1!!!}
   begin
    if b[1,j]>b[1,j+1] then {Обратите внимание - перебор по j, а не по i !!!}
     begin
      for m:=1 to n do
       begin
        k:=b[m,j];
        b[m,j]:=b[m,j+1];
        b[m,j+1]:=k;
       end;
     end;
   end;[/COLOR]
 writeln('-----отсортированная матрица B  ');
 for i:=1 to n do
  begin
   for j:=1 to n do
    write(b[i,j],'  ');
   writeln;
  end;
 readln;
end.
 
Спасибо! Я был близок к решению=)))
 
Назад
Сверху