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

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

Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

Использование Var, Integer, Readln.

Процедура Readln используется не только для задержки экрана. Ее основная задача - ввод данных с клавиатуры. В этой статье мы научимся вводить числа с клавиатуры, и потом выводить их на экран. Для этого нам будет необходимо познакомиться с разделом ...

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

Массив строк типа STRING.

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

Тип данных Integer.

Тип INTEGER (целый). Этот тип представляет множество целых чисел диапазона от -32768 до 32767. В памяти ЭВМ  под целое число отводится два байта (16 бит).

Пример 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
 
 
-5 # oleg 23.05.2013 16:16
:eek: :eek: :eek: :-x :-x :-x :-* :-* :-*
 
 
-8 # Алексей 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)
 
 
-2 # Хуец залупенский 26.12.2015 20:02
Шляпа немытая
 
 
-5 # хакер 28.03.2017 07:10
8) 8) 8) 8) 8)
 
 
+3 # Ded1337 11.08.2017 10:34
А где объяснение программы? Тут практически ничего не понятно.
 
   ГлавнаяПаскальЛекции по ПаскальОператор варианта CASE.