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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2012, 13:44   #1
Nrgstif
Новичок
Джуниор
 
Регистрация: 23.03.2010
Сообщений: 2
По умолчанию Сортировка массива(выбором)

Помогите пожалуйста.
Задание:
Разработать программу внутренней сортировки значений в таблице.(cсортировка выбором)
В 1 мерном и 2х мерном массиве.
В одномерном я сделал, вот код :

Цитата:
program mas;
var
a:array[1..10] of INTEGER;
i,j,min,n,t:INTEGER;
begin
RANDOMIZE;
FOR i:= 1 TO 10 DO
begin
a[i]:=RANDOM(9);
writeln('a(',i,')=',a[i],' ')
END;
begin
FOR i:= 1 TO 10 DO
begin
min := i;
FOR j:= i+1 TO 10 DO
IF a[j] < a[min] THEN
min:=j;
t:=a[min];
a[min]:=a[i];
a[i]:=t;
writeln('a(',i,')=',a[i],' ')
END;end;
readln
END.
А в двухмерном никак не получается, помогите пожалуйста.
Nrgstif вне форума Ответить с цитированием
Старый 13.01.2012, 14:28   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Если речь идет о сортировки СТРОК в двумерном массиве, то можно вот так:
Код:
 var
   a:array[1..10,1..10] of INTEGER;
   i,j,min,n,t:INTEGER;
 begin
  RANDOMIZE;
   FOR i:= 1 TO 10 DO
   begin
      for j:= 1 to 10 do
        begin
           a[i,j]:=RANDOM(9);
           //write('a(',i,',',j,')=',a[i,j],' ');    //закоментировал эти строчки, так как в таком варианте выводится не очень красиво
           write(a[i,j],' ');       //если что, убери две косые пред предыдущей строчкой и поставь перед этой. То же самое ниже
         END;
       writeln
   end;

   writeln;

   for n:=1 to 10 do
   begin
     FOR i:= 1 TO 10 DO
       begin
         min := i;
         FOR j:= i+1 TO 10 DO
           IF a[n,j] < a[n,min] THEN
             min:=j;
         t:=a[n,min];
         a[n,min]:=a[n,i];
         a[n,i]:=t;
         //write('a(',n,',',i,')=',a[n,i],' ');
         write(a[n,i],' ');
       END;
     writeln
   end;
   readln
 END.
Сортировка столбцов по образу и подобию, буквально несколько строчек поменять.
Все тривиальное просто

Последний раз редактировалось whatever; 13.01.2012 в 14:32.
whatever вне форума Ответить с цитированием
Старый 13.01.2012, 15:57   #3
Nrgstif
Новичок
Джуниор
 
Регистрация: 23.03.2010
Сообщений: 2
По умолчанию

Огромное тебе спасибо, очень помог!
Nrgstif вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка выбором С++ Belka.ru Помощь студентам 3 12.12.2011 05:57
Сортировка выбором Novi4ok_11 Помощь студентам 2 20.01.2011 14:06
Сортировка выбором.. AronakSS Паскаль, Turbo Pascal, PascalABC.NET 1 09.10.2010 13:27
Сортировка массива выбором и пузырьком (делфи) kira_truelove Помощь студентам 1 05.12.2009 14:00
Сортировка выбором curly182 Общие вопросы C/C++ 3 24.05.2009 13:45