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

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
наверное всетаки понадобится полный текст, свищу...
спасибо за помощь
SpEctAtOr
BlackShadow huh.gif "Если тебе нужен полный текст, тогда свисти. "
это ты просто так сказал sad.gif unsure.gif sad.gif

Помоги пожалуйста...!... rolleyes.gif
:p1: :p12: :p1:
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.