Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2011, 23:26   #1
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию Delphi 6. перестановка строк двухмерного массива

переставить строки массива по не убыванию просматривая первые элементы столбца.
Код:
For i:=1 To n-1 Do
  repeat
  flag:=false;
         if x[i,1]<=x[i+1,1] then
          For j:=1 To m Do
           begin
            buf:=x[i,j];
            x[i,j]:=x[i+1,j];
            x[i+1,j]:=buf;
            flag:=true
          end;
    until flag=false;
не полностью сортирует. Найти ошибку не могу(((
Антон Лысенко вне форума Ответить с цитированием
Старый 24.03.2011, 23:59   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Блин, ну когда же вы уже научитесь думать абстрактно. Ведь в программировании без этого никуда
Turbo Pascal 7. Переделать надеюсь труда не составит.
Код:
uses
  Crt;

const
  MAX = 5;

var
  i, j: Integer;
  arr: array[0..MAX, 0..MAX] of byte;

procedure move_row(from: Byte; dest: Byte);
var
  i, j: Integer;
  tmp: Byte;
begin
  for i := 0 to MAX do
  begin
    tmp := arr[from, i];
    arr[from, i] := arr[dest, i];
    arr[dest, i] := tmp;
  end;
end;

procedure Print;
begin
  for i := 0 to MAX do
  begin
    for j := 0 to MAX do
    begin
      Write(arr[i, j]:3);
    end;
    WriteLn;
  end;
  WriteLn;
end;

begin
  ClrScr;
  Randomize;

  for i := 0 to MAX do
  begin
    or j := 0 to MAX do
    begin
      arr[i, j] := Random(9) + 1;
    end;
  end;

  Print;

  for i := 0 to MAX do
    for j := 0 to MAX do
      if arr[i, 0] > arr[j, 0] then
        move_row(i, j);

  Print;

  ReadKey;
end.

Последний раз редактировалось psycho-coder; 25.03.2011 в 00:25.
psycho-coder вне форума Ответить с цитированием
Старый 25.03.2011, 00:42   #3
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

уууу, вы мне ещё больше задачек подкинули)
Антон Лысенко вне форума Ответить с цитированием
Старый 25.03.2011, 00:44   #4
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

турбо паскаль я не знаю. Работаю в Object и потому с процедурами мне ещё сложней. мне там своих хватает.
Антон Лысенко вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача двухмерного массива в функцию tem_80 Общие вопросы C/C++ 3 18.02.2011 23:47
перестановка строк двухмерного массива imperceptible4462 Помощь студентам 4 10.09.2010 13:04
Сортировка строк двухмерного массива EfiopianDIMON Общие вопросы C/C++ 9 26.05.2009 22:52
Сортировка вставками двухмерного массива ponchikpk Помощь студентам 6 09.03.2009 13:34
Передача двухмерного массива в функцию IgorKr Общие вопросы C/C++ 2 28.03.2008 01:11