Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2016, 07:54   #1
Агнесска
 
Регистрация: 06.05.2016
Сообщений: 9
По умолчанию Помогите пожалуйста оформить программу в виде модуля (program ex_8_16_v - сортировка матриц)

Помогите пожалуйста оформить программу ввиде модуля

Код:
program ex_8_16_v;
type Vector = array of integer;
Matrix = array of Vector;

var A : Matrix;
B : Vector;
l, n : integer;
f1 : text;

Procedure FormMatr(var X:Matrix);
var i, j : integer;
begin
for i := 0 to n-1 do
for j := 0 to n-1 do
X[i,j] := random(1,5);
end;

Procedure WriteMatr(var X:Matrix);
var i, j : integer;
begin
For i := 0 to n-1 do
begin
for j := 0 to n-1 do
Write(X[i,j]:4);
Writeln;
end;
end;

Function F(X : Matrix;i : integer):integer;
var j, S : integer;
begin
S := 1;
for j := 0 to n-1 do
S := S*X[j,i];
F := S;
end;

Procedure Selection(var X : Vector);
var i,j, nom, min : integer;
BEGIN
for i := 0 to n-2 do
begin
nom := i;
min := X[i];
for j := i+1 to n-1 do
if X[j] < min then
begin
min := X[j];
nom := j;
end;
X[nom] := X[i];
X[i] := min;
end;
END;

Procedure Exchange(var X : Vector);
var i, j, c : integer;
BEGIN
for i := 1 to n-1 do
for j := n-1 downto i do
if X[j-1] > X[j] then
begin
c := X[j-1];
X[j-1] := X[j];
X[j] := c;
end;
END;

Procedure Insertion2(var X : Vector);
var i, j, k, c : integer;
BEGIN
for i := 1 to n-1 do
begin
c := X[i];
j := i-1;
k := 0;
While j > -1 do
if X[i] > X[j] then
begin
k := j + 1;
j := -1;
end
else j := j - 1;
for j := i downto k + 1 do
X[j] := X[j-1];
X[k] := c;
end;
END;


begin
Assign(f1,'Otsortirovan.txt');
Rewrite(f1);
Write('Vvedite poryadok matricy n = ');
Readln(n);
Setlength(A,n);
For l := 0 to n-1 do
Setlength(A[l],n);
Setlength(B,n);
FormMatr(A);
// WriteMatr(A);
for l := 0 to n-1 do
// begin
B[l] := F(A,l);
// Write(B[l],' ');
// end;
Setlength(A,0);
Writeln('Kakim metodom osyshestvit sortirovky ?');
Writeln('1 - prostoi obmen.');
Writeln('2 - prostoi vybor.');
Writeln('3 - prostaya vstavka.');
Write('l = ');
Readln(l);
Case l of
1 : Exchange(B);
2 : Selection(B);
3 : Insertion2(B);
end;
for l := 0 to n-1 do
Write(f1,B[l],' ');
Close(f1);
Setlength(B,0);
end.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 01.06.2016 в 09:44.
Агнесска вне форума Ответить с цитированием
Старый 01.06.2016, 09:40   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Создать отдельный файл modul01.pas, и все описания процедур, функций и новых типов вырезать из программы и вставить в него:
Код:
unit modul01; // название - любое допустимое
interface
// сюда вставить  заголовки всех процедур и функций, 
// которые вызываются в основной программе. И всех типов - Vector, Matrix

implementation
// сюда - все описания всех процедур и функций
end.
А в основной программе будет:
Код:
program ex_8_16_v;

uses Modul01;

var A : Matrix;
      B : Vector;
    l, n : integer;
      f1 : text;
begin
Assign(f1,'Otsortirovan.txt');
// и т.д. 
end.

Последний раз редактировалось type_Oleg; 01.06.2016 в 09:44.
type_Oleg вне форума Ответить с цитированием
Старый 01.06.2016, 09:55   #3
Агнесска
 
Регистрация: 06.05.2016
Сообщений: 9
По умолчанию

Спасибо за помощь
Агнесска вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста оформить программу в виде модуля (program Sortirovka_massiva_part_two) Агнесска Паскаль, Turbo Pascal, PascalABC.NET 3 01.06.2016 11:21
[с] Динамическую структуру оформить в виде отдельного модуля. nicklifs Общие вопросы C/C++ 5 15.03.2012 11:25
Разработать алгоритм, отобразить его в виде блок-схемы и написать программу на языке Паскаль. Оформить отчет MID_SAN Помощь студентам 1 02.02.2012 10:24
Оформить процедуру и функцию в виде модуля пользователя и файла Anny_Apple Паскаль, Turbo Pascal, PascalABC.NET 6 13.03.2011 14:24