Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

Использование program, begin…end, write, readln, Uses Crt, Clrscr.

В этом уроке мы напишем самую простую программу, состоящую всего из пяти строк. Эта программа будет выводить сообщение на экран. Для написания программы нам необходимо знать как работают операторы Write, Readln, а также понять для чего нужны ...

Функции trunc, round в Pascal.

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется Real. В этом уроке мы рассмотрим 2 функции, которые производятся над дробными числами. Это ...

Циклы и массивы

Подпрограммы, определенные пользователем.

Технология программирования с использованием подпрограмм предусматривает разбиение программ на логически связанные, но функционально-замкнутые компоненты, имеющие свое имя, что дает следующие ...

Организация условного перехода. Оператор IF.

Для программирования разветвляющихся процессов, содержащих две ветви, используется оператор IF условного перехода (ветвления), имеющий две конструкции.

Пример 36. Задан двумерный массив X из 6 строк и 4 столбцов. Упорядочить массив X по возрастанию элементов дробной части столбца с номером N. Отсортированный массив X вывести на экран монитора.

За основу алгоритма возьмем алгоритм сортировки одномерного массива методом пузырька. Отличие этой задачи в том, что переставлять местами нужно не два соседних элемента одномерного массива, а две соседние строки двумерного массива. Перестановка двух строк реализована с помощью арифметического цикла, третьего уровня вложения, с параметром цикла К.
Структурограмма:

sortirovka massiv.....


PROGRAM PR36;
VAR    
X: ARRAY [1..6, 1..4] OF REAL;
N, К, I, J: INTEGER;
R: REAL;
BEGIN
WRITELN('Введите матрицу X');
FOR I := 1 ТО 6
DO FORJ := 1 TO 4
       DO READ(X[I, J]);
WRITELN('Укажите номер столбца N матрицы X');
READLN(N);
FOR      I:=2 TO 6
DO    FOR J:=6 DOWNTO I
          DO    IF FRAC(X[J-1,N])>FRAC(X[J,N])
                    THEN   FOR К := 1 TO 4     { Перестановка строк}
                                  DO BEGIN
                                         R := X[J-1, К];
                                         Х[J-1, K] := X[J, К];
                                         Х[J, K]:- R;
                                         END;
{ Вывод на экран отсортированного массива X }
WRITELN('Матрица X имеет вид:');
FOR I := 1 ТО 6
DO    BEGIN
          FOR J := 1 ТО 4
          DO WRITE(X[I, J]: 6: 3,' ');
          WRITELN
          END
END.


Предыдущая статья: Отображение на экране значений двумерного массива.
Оглавление: Лекции по Pascal.


Комментарии  

 
-7 # buka 23.01.2013 19:42
:o :D :lol: :-? :cry: :-x
 
 
-4 # oleg 23.05.2013 16:16
:eek: :eek: :eek: :-x :-x :-x :-* :-* :-*
 
 
-9 # Алексей 26.08.2014 10:12
:lol: ;-) 8) :-| :-* :oops: :sad: :-? :eek: :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz
 
 
-4 # Вася 29.10.2014 19:32
8)
 
 
-1 # Хуец залупенский 26.12.2015 20:02
Шляпа немытая
 
 
-4 # хакер 28.03.2017 07:10
8) 8) 8) 8) 8)
 
 
+1 # Ded1337 11.08.2017 10:34
А где объяснение программы? Тут практически ничего не понятно.
 
   ГлавнаяПаскальЛекции по ПаскальСортировка двумерного массива.