Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Обработка массивов в Object Pascal


Автор: Леночка 5.6.2008, 11:27
Здраствуйте!
Пожалуйста, помогите в написании лабораторной работы по Object Pascal. Мучаюсь уже 2 дня, но не могу словить суть решения.
Нужно в двухмрном массиве упорядочить элементы на главной диагонали по возрастанию.
Кто знает как то делается, помогите, пожалуйста!
Заранее, спасибо!

Автор: morpheyushka 5.6.2008, 12:40
если двухмерный - тогда так...

Код

if mas[1,1] > mas[2,2] then
 begin
  peremennaya := mas[1,1];
  mas[1,1] := mas[2,2];
  mas[2,2] := peremennaya;
 end


если больше - тогда цикл делать и методом пузырьков работать с эллементами a[i,i] и a[i+1,i+1]

Автор: THandle 5.6.2008, 12:49
morpheyushka, двумерный массив это:
Код


a : array [0..N, 0..N] of integer;

b : array of array of integer;

Автор: morpheyushka 5.6.2008, 12:54
внатуре))))
ну цикл тогда прикрутить и вместо цифр счётчик цикла подставить и всё будет ок smile 
2 THandle, спасибо за поправку

Автор: THandle 5.6.2008, 13:02
Что то такое если я правильно понял:

Код

program Project1;

{$APPTYPE CONSOLE}
const
  MAX = 5;

var
  a : array [1..MAX, 1..MAX] of integer;
  i, j, tmp : integer;

procedure WriteArray;
begin
  for i := 1 to MAX do
    begin
      for j := 1 to MAX do
         write(a[i, j], '  ');
      writeln;
    end;
end;

begin
  for i := 1 to MAX do
    for j := 1 to MAX do
      begin
        write('Enter next element: ');
        readln(a[i, j]);
      end;

  writeln('Before sort: ');
  WriteArray;

  for i := 1 to MAX - 1 do
    for j := 1 to MAX - i do
      if a[j, j] > a[j + 1, j + 1] then
        begin
          tmp := a[j, j];
          a[j, j] := a[j + 1, j + 1];
          a[j + 1, j + 1] := tmp;
        end;

  writeln('After sort: ');
  WriteArray;

  readln;
end.

Автор: Леночка 5.6.2008, 14:25
Спасибо огромное!
Надеюсь, что завтра сдам эту лабу. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)