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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2009, 16:21   #1
DmitryVisuals
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 24
По умолчанию Сортировка массива на Pascal'e

Всем программистам доброго времени суток,у меня возникла следующая проблема:
Мне была предложена задача упорядочения двумерного массива по строкам по возрастанию методом прямого включения,причём нужно использовать 'repeat' в качестве оператора внешнего цикла,а оператор 'while' в качестве внутреннего.я написал программу,но она не функционирует как нужно.
вот код программы:

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const n=12;m=12;
type
 mas=array[1..n,1..m] of real;
var
a:mas;
L,K:integer;
procedure in_mas(var a:mas;var l,k:integer);
var
 i,j:integer;
begin
 writeln('enter kol-vo strok:');
 readln(L);
 writeln('enter kol-vo stolbov:');
 readln(k);
 for I:=1 to L do
 begin
  writeln('Enter',I,'-stroku:');
  for j:=1 to k do
   readln(a[i,j]);
  readln;
 end;
end;
procedure sortirovka(var a:mas;l,k:integer);
var
 i,j:integer;
 d:extended;
 line:integer;
begin
 line:=1;
 i:=0;

 repeat
 inc(I);
     for line:=1 to l do


    begin

        j:=i;
        while (a[line,j+1]<a[line,j]) and (j>0) do
         begin
           d:=a[line,j];
           a[line,j]:=a[line,j+1];
           a[line,j+1]:=d;
           j:=j-1;

         end;
      end;
  until I=L;
end;


procedure out_mas(const a:mas;l,k:integer);
var
 i,j:integer;
begin
 for i:=1 to l do
 begin
  for j:=1 to k do
  write(a[i,j]:2:0,' ');
  writeln; //perevod na novuu stroku
  end; //for i
 end;

begin //main
in_mas(a,l,k);
writeln('isxodnui massiv:');
out_mas(a,l,k);
sortirovka(a,l,k);
writeln('otsortirovannui massiv:');
out_mas(a,l,k);
readln;
end.
Очень надеюсь на Вашу помощь,заранее благодарен.

Последний раз редактировалось Stilet; 26.11.2009 в 16:51.
DmitryVisuals вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массива по С++ Moldir Общие вопросы C/C++ 1 28.10.2009 17:40
Сортировка массива Helennna Microsoft Office Excel 7 06.08.2009 18:41
сортировка массива Dimati87 Паскаль, Turbo Pascal, PascalABC.NET 6 03.06.2009 09:17
Сортировка массива...? Roberto Помощь студентам 2 11.04.2008 13:32
Сортировка массива vitalik007 Общие вопросы Delphi 2 22.09.2007 20:04