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

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

Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

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

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

Программирование данных.

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

Пример 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
А где объяснение программы? Тут практически ничего не понятно.
 
   ГлавнаяПаскальЛекции по ПаскальСортировка двумерного массива.