Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Текст программы. { Программа Лабораторной работы N 5



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.





Дата публикования: 2014-11-03; Прочитано: 264 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...