Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Программа сортировки треугольной матрицы

Автор: SpEctAtOr 24.05.2004 18:25

Условие задачи:
Заданы две матрицы действительных чисел А[5x5] u B[6x6]. Требуется составить программу вычисления новых матриц A' u B' по следующему алгоритму:
1. в каждой матрице роводится главная левая диагональ (сверху вниз и слева направо), в результате чего образуются две треугольные матрицы;
2. для матрицы А все элементы, расположенные в верхнем треугольнике, расположить в каждой строке в порядке убывания элементов слева направо;
3. для матрицы В требуется выполнить действия, определнные в п.2 относительно нижнего треугольника.
Программа сортировки треугольной матрицы должна быть оформлена в виде процедуры. Выходным параметром этой процедуры должна быть матрица, полученная из исходной по алгоритму, описанному выше.
blink.gif

Автор: BlackShadow 24.05.2004 19:16

Можно попробыать так:

Код

Type
 TMatrix5=Array[1..5,1..5] Of Double;
 TMatrix6=Array[1..6,1..6] Of Double;
 Temp:Array[1..15] Of Double;

Var
 a,na:TMatrix5;
 b,nb:TMatrix6;
 i,j,n,k:Integer;
 d:Double;

Begin
 {Какой-нибудь ввод. Сам организуешь?}
 n:=1;
 For i:=1 To 4 Do
   For j:=i+1 To 5 Do
   Begin
     Temp[i]:=a[i,j];
     Inc(i)
   End;
 For i:=1 To n-1 Do
 Begin
   k:=i;
   d:=Temp[i];
   For j:=i+1 To n Do
     If d<Temp[j] Then
     Begin
       k:=j;
       d:=Temp[j]
     End;
   If k<>i Then
   Begin
     Temp[k]:=Temp[i];
     Temp[i]:=d
   End
 End;
 Move(an,a,SizeOf(TMatrix5));  {или Move(a,an,SizeOf(TMatrix5)) - посмотри по
                                               Help, я не помню. Чтобы a скопировалось в an}
 n:=1;
 For i:=1 To 4 Do
   For j:=i+1 To 5 Do
   Begin
     an[i,j]:=Temp[n];
     Inc(n)
   End;
{.....}
End.

Надеюсь принцип понятен. Если тебе нужен полный текст, тогда свисти.

Автор: SpEctAtOr 24.05.2004 19:44

наверное всетаки понадобится полный текст, свищу...
спасибо за помощь

Автор: SpEctAtOr 25.05.2004 21:13

BlackShadow huh.gif "Если тебе нужен полный текст, тогда свисти. "
это ты просто так сказал sad.gif unsure.gif sad.gif

Помоги пожалуйста...!... rolleyes.gif
:p1: :p12: :p1: