Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 22.06.2010, 20:28   #1
Darki
 
Регистрация: 22.06.2010
Сообщений: 3
По умолчанию не получается сортировка матрицы в чем ошибка?

Задание такое:составить процедуру упорядочивания элементов квадратной матрицы по убыванию элементов, используя эту подпрограмму найти минимальный элемент из всех матриц. заданы матрицы А В C
исходник

Код:
Program Kyrs;
Uses Crt;
type
  Matrica = array [1..3,1..3] of Integer;
var
  b:array [1..4,1..4] of Real;
  A,TA,A2,A3,C:matrica;
  i,j,k,l:Byte;

Procedure print (m:matrica);
Var i,j:integer;
Begin
for i:=1 to 3 do
 Begin
  for j:=1 to 3 do
   Write(m[i,j],'  ');
   writeln;
 End;
writeln;
end;

Procedure Ymn(m1,m2:matrica; var res:matrica);
var i,j,k:integer;
    s:longint;
Begin
 for i:=1 to 3 do
  for j:=1 to 3 do
   Begin
    S:=0;
    for k:=1 to 3 do
     S:=S+m1[i,k]*m2[k,j];
     res[i,j]:=S;
  End;
End;

Procedure Sloj (m1,m2,m3:matrica; var res:matrica);
Var i,j:integer;
Begin
 For i:=1 to 3 do
  For j:=1 to 3 do
    res[i,j]:=m1[i,j]+m2[i,j]+m3[i,j];
End;

{б®авЁа®ўЄ* Ї® гЎлў**Ёо}
Procedure Sortir(m:matrica);
Var i,j,k:Byte;
begin
 for i:=1 to 3 do
  for j:=3 downto i do
   if m[i,j-1]<m[i,j] then
    begin
      k:=m[i,j-1];
      m[i,j-1]:=m[i,j];
      m[i,j]:=k;
    end;
    print(m)
end;


Begin
Clrscr;
randomize;
{§*Ї®«*Ґ*ЁҐ ¬*ббЁў* Ђ а**¤®¬®¬}
for i:=1 to 3 do
 for j:=1 to 3 do
  A[i,j]:=random(10);
Writeln('¬*ваЁж* Ђ');
Print(A);
{ва*бЇ**Ёа®ў**ЁҐ ¬*ва.Ђ}
For i:=1 To 3 do
   For j:=1 To 3 Do
TA[i,j]:=A[j,i];
Writeln('ва**бЇ**Ёа®ў****п ¬*ваЁж* A');
Print(TA);
Ymn(A,A,A2);
Ymn(A2,A,A3);
Sloj(TA,A2,A3,C);
Writeln('Њ*ваЁж* ‘');
Print(C);
{д®а¬Ёа®ў**ЁҐ ¬*ваЁжл ‚}
For k:=1 To 4 do
   For l:=1 To 4 Do
      B[k,l]:=Sin(k+1)/(Sin(2+l)+Cos(l+1));
Writeln('Њ*ваЁж* ‚');
for k:=1 to 4 do
 Begin
 for l:=1 to 4 do
 Write(B[k,l]:4:2,'  ');
 writeln;
 End;
 writeln;
 sortir(A);



Readln;
End.

Последний раз редактировалось Darki; 22.06.2010 в 21:08.
Darki вне форума Ответить с цитированием
Старый 22.06.2010, 21:27   #2
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

скажи плз поточнее - тебе надоу порядочить матрицу, это типа упорядочить каждую строку по убыванию чтоли иль как ?
kakawkin вне форума Ответить с цитированием
Старый 22.06.2010, 21:45   #3
Darki
 
Регистрация: 22.06.2010
Сообщений: 3
По умолчанию

Да упорядочить по убыванию. Т.е. от больших к меньшему + найти самый малый элемент из всех матриц.
В программе все работает кроме сортировки и нахождения минимума =(

Последний раз редактировалось Darki; 22.06.2010 в 21:47.
Darki вне форума Ответить с цитированием
Старый 22.06.2010, 21:53   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

сортировка строк:
Код:
for i:=1 to m do
for j:=1 to n-1 do
for k:=j+1 to n do
if a[i,j]<a[i,k] then
 begin
  tex:=a[i,j];
  a[i,j]:=a[i,k];
  a[i,k]:=tex;
 end;
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 22.06.2010, 22:23   #5
Darki
 
Регистрация: 22.06.2010
Сообщений: 3
По умолчанию

Код:
for i:=1 to m do
for j:=1 to n-1 do
for k:=j+1 to n do
при таких значениях оно вообще сортировать отказывается

Код:
for i:=1 to 4 do
  for j:=1 to 4-1 do
    for k:=j+1 to 4 do
друг подсказал сделать так, сортирует...но неправильно 8(
Darki вне форума Ответить с цитированием
Старый 23.06.2010, 00:26   #6
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
c:=a[i];
a[i]:=a[j];
a[j]:=c;
end;
kakawkin вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается отсортировать структуру. В чем проблема понять никак не могу AlEnanechker Помощь студентам 1 25.12.2009 18:02
Сортировка матрицы GOODMAN Microsoft Office Excel 3 09.07.2009 23:31
структуры. не получается сортировка. grewnica Общие вопросы C/C++ 2 12.05.2009 14:49
не получается сортировка кто знает помогите Droid Общие вопросы Delphi 5 23.05.2008 07:28


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS