Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Текст программы.






PROGRAM SortNum;

{ Программа Лабораторной работы N 5

Вариант N 31.

А.Я.Умненькая, ст. гр. Я-007 }

VAR

M, N, Jmin, i, j, i1, ki: integer;

Amin, Pr: real;

A: array [1..7, 1..7] of real;

B: array [1..7] of real;

Fin, Fout: text;

LABEL

Vvod_M, Vvod_N;

BEGIN

{ Открытие входного и выходного файлов }

assign(Fout, 'UMNIK5.RES');

rewrite(Fout);

assign(Fin, 'D: \LAB1\DATF.TXT');

reset(Fin);

{ Ввод количества строк массива }

Vvod_M:

writeln ('Введите число строк массива');

readln(M);

if (M < 2) or (M > 7) then

begin

writeln('Недопустимое значение! ');

goto Vvod_M;

end;

{ Ввод количества столбцов массива }

Vvod_N:

writeln ('Введите число столбцов массива');

readln(N);

if (N < 2) or (N > 7) then

begin

writeln('Недопустимое значение! ');

goto Vvod_N;

end;

{ заполнение массива числами из файла }

for i: =1 to M do

for j: =1 to N do

read(Fin, A[i, j]);

{ Закрытие входного файла }

close(Fin);

{ Распечатка исходного массива }

Writeln(Fout, ' Исходный массив из ', M, 'x', N,

' элементов');

for i: =1 to M do

begin

for j: =1 to N do

Write(Fout, A[i, j]: 8: 2); {печать текущей строки }

Writeln(Fout);

end;

Writeln(Fout);

{ Поиск столбца с минимальным элементом }

Amin: = A[1, 1];

Jmin: = 1;

for i: =1 to M do

for j: =1 to N do

if A[i, j] < Amin then

begin

Amin: = A[i, j];

Jmin: = j;

end;

{ Определение признака незанятого места }

Pr: = Amin - 1.0;

{ Очистка выходного массива }

for i: =1 to M do B[i]: = Pr;

{ сортировка " Jmin-го" столбца в выходной файл пересчетом }

for i: = 1 to M do

begin

ki: = 1;

for i1: =1 to M do

if A[i1, Jmin] < A[i, Jmin] then ki: = ki+1;

{ сдвиг дальше, если элемент уже занят }

while B[ki] < > Pr do ki: = ki+1;

B[ki]: = A[i, Jmin];

end;

{ Печать номера столбца c минимальным элементом }

Writeln(Fout, 'Результаты работы': 30);

Writeln(Fout);

Writeln(Fout, ' Минимальный элемент находится в ',

Jmin, ' столбце');

{ Печать отсортированного массива }

Writeln(Fout, 'Сортированный массив': 30);

for i: =1 to M do

Write(Fout, B[i]: 8: 2);

Writeln(Fout);

{ Закрытие выходного файла }

close(Fout);

END.

 

Содержимое файла результатов UMNIK5.RES

 

Исходный массив из 7x7 элементов

-2.20 -6.93 0.20 8.97 8.09 5.38 7.82

5.43 15.33 13.60 9.32 17.38 17.70 16.26

13.13 13.78 20.59 17.91 15.16 19.02 21.66

18.71 17.73 20.59 21.77 22.49 21.99 19.42

15.68 17.73 21.90 13.50 17.68 18.50 15.51

11.54 19.04 17.86 13.20 10.25 10.44 8.46

11.92 5.60 5.75 2.69 8.51 0.52 3.61

 

Результаты работы

Минимальный элемент находится в 2 столбце

Сортированный массив

-6.93 5.60 13.78 15.33 17.73 17.73 19.04


 

Варианты заданий

Таблица 20 Варианты заданий лабораторной работы №5

№ вар. Задание Предельные значения числа Тип обраб. данных
строк столбцов
  Массив размером М, строк N столбцов заполнить числами из входного текстового файла. Исходный массив распечатать. Каждую строку массива упорядочить по убыванию обменом. Переделанный массив распечатать.     Целые
  Массив размером М строк Nстолбцов заполняется символами из входного текстового файла. Исходный массив распечатывается. Каждый столбец массива упорядочить по возрастанию методом выбора. Переделанный массив распечатать.     Символьн.
  Массив размером М строк N столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Столбец с минимальным 1-ым элементом упорядочить по убыванию методом обмена. Переделанный массив распечатать.     Целые
  Заполнить двумерный массив А(MхN) элементов символами из текстового файла. Первый столбец массива А упорядочить по возрастанию (по алфавиту) методом вставок, используя рабочий одномерный массив В(М). Массив А распечатать до и после сортировки.     Символьн.
  Массив размером М строк N столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Столбец с максимальным последним элементом упорядочить по возрастанию методом обмена. Переделанный массив распечатать.     Целые
  Заполнить двумерный массив А(MхN) элементов символами из одномерного массива В (длиной не более 256 элементов) " змейкой" от конца к началу – сперва M-ю строку справа налево, затем M–1-ю слева направо и т.д. Массив В предварительно заполняется из входного текстового файла. Оба массива распечатать.     Символьн.
  Квадратный массив размером МхM заполняется числами из входного текстового файла. Исходный массив распечатывается. Главную диагональ массива упорядочить по убыванию методом выбора. Переделанный массив распечатать.     Целые
  Заполнить квадратный массив размерами NхN элементов числами из входного файла, распечатать, поменять местами столбец с номером " К" и строку с номером " M" (оба номера и длина массива вводятся с клавиатуры). Полученную матрицу распечатать.     Целые
  Массив размером М строк N столбцов заполняется символами из входного текстового файла. Исходный массив распечатывается. Заказанную строку массива (номер которой вводится с клавиатуры) упорядочить по убыванию методом выбора. Переделанный массив распечатать.     Символьн.
  Массив размером М, строк N столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Заказанный столбец массива (номер которого вводится с клавиатуры) упорядочить по возрастанию методом обмена. Переделанный массив распечатать.     Веществ.
  Квадратный массив размером МхМ заполняется числами из входного текстового файла. Исходный массив распечатывается. Обратную диагональ массива упорядочить по возрастанию методом выбора. Переделанный массив распечатать.     Веществ.
  Массив размером М строк, N столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Столбец с минимальным вторым элементом упорядочить по возрастанию методом выбора. Переделанный массив распечатать.     Целые
  Заполнить квадратный массив А (NхN) элементов (N не более 8) числами из входного файла, распечатать, построить новую матрицу В (NхN), в которой каждый элемент B (i, j) равен минимальному из всех элементов массива А, у которых номер строки < =i, а номер столбца > =j. Полученную матрицу распечатать.     Веществ.
  Массив размером М строк, N столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Строку, где расположен максимальный элемент массива, упорядочить по убыванию методом обмена. Переделанный массив распечатать.     Целые
  Массив размером М строк, N столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Строку с минимальным первым элементом упорядочить по убыванию методом выбора. Переделанный массив распечатать.     Веществ.
  Массив размером М строк, N столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Строку, где расположен минимальный элемент массива, упорядочить по убыванию методом пересчета в одномерный массив, который распечатать.     Целые
  Массив размером М строк, N столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Заказанный столбец массива (номер которого вводится с клавиатуры) упорядочить по убыванию методом вставок, используя рабочий одномерный массив, который затем переписать на место сортируемого столбца. Переделанный двумерный массив распечатать.     Целые
  Заполнить двумерный массив логическими значениями из входного текстового файла, распечатать, перестроить матрицу: первый столбец поменять местами с последним, второй с предпоследним, и т.д. Затем так же переставить строки. Переделанный массив распечатать.     Логич.
  Массив размером М строк N, столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Второй столбец массива упорядочить по возрастанию методом пересчета в одномерный массив. Созданный массив распечатать.     Целые
  Заполнить двумерный массив размерами 20х20 элементов символами из входного текстового файла, распечатать, перестроить матрицу: исключить из нее столбец с номером " k" и строку с номером " m" (оба номера вводятся с клавиатуры). Полученную матрицу размерами 19х19 распечатать.     Символьн.
  Массив размером М строк N, столбцов заполняется символами из входного текстового файла. Исходный массив распечатывается. Столбец, где расположен максимальный элемент массива, упорядочить по возрастанию методом обмена. Переделанный массив распечатать.     Символьн.
  Заполнить квадратный массив А (NхN) элементов (N вводится с клавиатуры) числами из одномерного массива В (длиной не более 64 элементов) " змейкой" – сперва первую колонку сверху вниз, затем вторую снизу вверх и т.д. Массив В предварительно заполняется из входного текстового файла. Оба массива распечатать.     Веществ.
  Заполнить двумерный массив А (MхN) элементов числами из текстового файла. Каждую строку массива А упорядочить по убыванию пересчетом в соответствующую строку массива В (MxN). Оба массива распечатать.     Целые
  Заполнить квадратный массив А (NхN) элементов числами из входного файла, распечатать, построить новую матрицу в В (NхN), в которой каждый элемент B (i, j) равен сумме всех элементов массива А, у которых номер строки > =i, а номер столбца < =j. Полученную матрицу распечатать.     Веществ.
  Прочитать из текстового файла с данными первые десять чисел в одномерный массив а последующие числа – в двумерный массив (матрицу) 7х6 элементов. Распечатать оба массива. Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные значения в одномерном массиве. Измененную матрицу распечатать.     Целые
  Заполнить квадратный массив А (NхN) элементов числами из текстового файла. Каждый столбец массива А упорядочить по возрастанию вставками в соответствующий столбец массива В (NxN). Оба массива распечатать.     Целые
  Заполнить квадратный массив А(NхN) элементов логическими из одномерного массива В (длиной не более 81 элементов) " по спирали" – сперва первую строку слева направо, затем последнюю колонку сверху вниз, затем последнюю строку справа налево, первую колонку снизу вверх и т.д. Массив В предварительно заполняется из входного файла. Оба массива распечатать.     Логич.
  Заполнить двумерный массив А (2хN) элементов символами из текстового файла. Распечатать массив А. Далее каждую строку массива Аупорядочить по алфавиту обменом, затем заполнить по алфавиту одномерный массив В (длиной 2N элементов) методом слияния из обеих строк массива А. Оба массива распечатать после сортировок.     Символьн.
  Заполнить двумерный массив А (Mх2) элементов числами из текстового файла. Распечатать массив А. Далее каждый столбец массива А упорядочить по возрастанию обменом, затем заполнить по возрастанию одномерный массив В (длиной 2M элементов) методом слияния из обоих столбцов массива А. Оба массива распечатать после сортировок.     Целые
  Заполнить квадратный массив размерами МхМ, где М – четное и равно 8, 10 или 12, логическими значениями из входного файла, распечатать. Поменять местами первый октант с третьим, а второй с четвертым. Октантом будем называть четверть массива, причем левая верхняя четверть – это 1-й октант, правая верхняя четверть – 2-ой и т.д. по часовой стрелке. Полученный массив распечатать.     Логич.
  Массив размером М строк N столбцов заполняется числами из входного текстового файла. Исходный массив распечатывается. Столбец, где расположен минимальный элемент массива, упорядочить по возрастанию методом пересчета в одномерный массив. Созданный массив распечатать.     Веществ.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.