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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2013, 19:42   #1
kitsun
 
Регистрация: 14.11.2013
Сообщений: 8
По умолчанию Подключение модулей

Добрый вечер, дана программа, на основе программы надо вырезать из нее часть программы будь-то сортировка по убывания массивов или сами массивы, перенести их в модуль и подключить её к программе. Помогите, второй день пытаюсь понять как это сделать, а все поджимает это все сдавать.
Исходники программы
Код:
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  mas in 'mas.pas',
  uCRT;
  const n=10; m=10;
type
arr1=array [1..5] of integer;
arr2=array [1..8] of integer;
arr3=array [1..10] of integer;
var
s1:arr1; s2:arr2; s3:arr3;
    i,j,x,y,k:integer;
{  - - - - - - - - - - - - - - - - - - - -}
procedure writel;
Begin
TextColor(10);
 writeln('Отсортированные массивы') ;
End;
{  - - - - - - - - - - - - - - - - - - - -}
procedure writell;
Begin
TextColor(3);
 writeln('Для продолжения, нажмите любую клавишу...') ;
End;
{  - - - - - - - - - - - - - - - - - - - -}
procedure writelk;
begin
  textcolor(2);
  writeln('Конец программы, нажмите любую клавишу для закрытия...')
end;
 
begin
randomize;
for i := 1 to 5 do
  s1[i]:=random(255)+1;
  for i := 1 to 8 do
  s2[i]:=random(255)+1;
  for i := 1 to 10 do
  s3[i]:=random(255)+1;
  writeln ('массивы до упорядочивания');
   for i:=1 to 5 do write(s1[i]:4); writeln;
    for i:=1 to 8 do write(s2[i]:4); writeln;
     for i:=1 to 10 do write(s3[i]:4); writeln;
     writell;
     readln;
    for i := 1 to m-1 do
        for j := 1 to m-i do
            if s1[j] < s1[j+1] then begin
                k := s1[j];
                s1[j] := s1[j+1];
                s1[j+1] := k
            end;
 
    writel;
    for i := 1 to m do
        write (s1[i]:4);
        writeln;
        writell;
        readln;
 
 
            for i := 1 to m-1 do
        for j := 1 to m-i do
            if s2[j] < s2[j+1] then begin
                k := s2[j];
                s2[j] := s2[j+1];
                s2[j+1] := k
            end;
 
    writel;
    for i := 1 to m do
        write (s2[i]:4);
        writeln;
        writell;
        readln;
 
            for i := 1 to m-1 do
        for j := 1 to m-i do
            if s3[j] < s3[j+1] then begin
                k := s3[j];
                s3[j] := s3[j+1];
                s3[j+1] := k
            end;
 
    writel;
    for i := 1 to m do
        write (s3[i]:4);
        writeln;
        writelk;
        readln;
 
end.
kitsun вне форума Ответить с цитированием
Старый 15.11.2013, 19:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
unit u576;
interface
type
arr1=array [1..5] of integer;
arr2=array [1..8] of integer;
arr3=array [1..10] of integer;

var s1:arr1; s2:arr2; s3:arr3;

 procedure ss1; var i,j:integer
 begin
    for i := 1 to m-1 do
        for j := 1 to m-i do
            if s1[j] < s1[j+1] then begin
                k := s1[j];
                s1[j] := s1[j+1];
                s1[j+1] := k
            end;
 end;

 procedure ss2; var i,j:integer
 begin
            for i := 1 to m-1 do
        for j := 1 to m-i do
            if s2[j] < s2[j+1] then begin
                k := s2[j];
                s2[j] := s2[j+1];
                s2[j+1] := k
            end;
 end;

 procedure ss3; var i,j:integer
 begin
            for i := 1 to m-1 do
        for j := 1 to m-i do
            if s3[j] < s3[j+1] then begin
                k := s3[j];
                s3[j] := s3[j+1];
                s3[j+1] := k
            end;
 end;

end.
Код:
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  u576,
  uCRT;
  const n=10; m=10;

var

    i,j,x,y,k:integer;
{  - - - - - - - - - - - - - - - - - - - -}
procedure writel;
Begin
TextColor(10);
 writeln('Отсортированные массивы') ;
End;
{  - - - - - - - - - - - - - - - - - - - -}
procedure writell;
Begin
TextColor(3);
 writeln('Для продолжения, нажмите любую клавишу...') ;
End;
{  - - - - - - - - - - - - - - - - - - - -}
procedure writelk;
begin
  textcolor(2);
  writeln('Конец программы, нажмите любую клавишу для закрытия...')
end;
 
begin
randomize;
for i := 1 to 5 do
  s1[i]:=random(255)+1;
  for i := 1 to 8 do
  s2[i]:=random(255)+1;
  for i := 1 to 10 do
  s3[i]:=random(255)+1;
  writeln ('массивы до упорядочивания');
   for i:=1 to 5 do write(s1[i]:4); writeln;
    for i:=1 to 8 do write(s2[i]:4); writeln;
     for i:=1 to 10 do write(s3[i]:4); writeln;
     writell;
     readln;

ss1;
 
    writel;
    for i := 1 to m do
        write (s1[i]:4);
        writeln;
        writell;
        readln;
 
 
ss2;
 
    writel;
    for i := 1 to m do
        write (s2[i]:4);
        writeln;
        writell;
        readln;
 
ss3;
 
    writel;
    for i := 1 to m do
        write (s3[i]:4);
        writeln;
        writelk;
        readln;
 
end.
Не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.11.2013, 15:11   #3
kitsun
 
Регистрация: 14.11.2013
Сообщений: 8
По умолчанию

Чуть-чуть подправил ваш код, т.к. изначально он не захотел работать как надо.
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  ucrt,
  Unit1 in 'unit1.pas';

const n=10; m=10;
var

    i,j,x,y,k:integer;
{  - - - - - - - - - - - - - - - - - - - -}
procedure writel;
Begin
TextColor(10);
 writeln('Отсортированные массивы') ;
End;
{  - - - - - - - - - - - - - - - - - - - -}
procedure writell;
Begin
TextColor(3);
 writeln('Для продолжения, нажмите любую клавишу...') ;
End;
{  - - - - - - - - - - - - - - - - - - - -}
procedure writelk;
begin
  textcolor(2);
  writeln('Конец программы, нажмите любую клавишу для закрытия...')
end;
 
begin
randomize;
for i := 1 to 5 do
  s1[i]:=random(255)+1;
  for i := 1 to 8 do
  s2[i]:=random(255)+1;
  for i := 1 to 10 do
  s3[i]:=random(255)+1;
  writeln ('массивы до упорядочивания');
   for i:=1 to 5 do write(s1[i]:4); writeln;
    for i:=1 to 8 do write(s2[i]:4); writeln;
     for i:=1 to 10 do write(s3[i]:4); writeln;
     writell;
     readln;
     
ss1;

    writel;
    for i := 1 to m do
        write (s1[i]:4);
        writeln;
        writell;
        readln;
 
 
ss2;
 
    writel;
    for i := 1 to m do
        write (s2[i]:4);
        writeln;
        writell;
        readln;
 
ss3;
 
    writel;
    for i := 1 to m do
        write (s3[i]:4);
        writeln;
        writelk;
        readln;

end.
Код:
unit Unit1;

interface
procedure ss1;
procedure ss2;
procedure ss3;
type
arr1=array [1..5] of integer;
arr2=array [1..8] of integer;
arr3=array [1..10] of integer;
var s1:arr1; s2:arr2; s3:arr3;
 const n=10; m=10;
implementation
 procedure ss1; var i,j,k:integer;
 begin
    for i := 1 to m-1 do
        for j := 1 to m-i do
            if s1[j] < s1[j+1] then begin
                k := s1[j];
                s1[j] := s1[j+1];
                s1[j+1] := k
 end;
 end;

 procedure ss2; var i,j,k:integer;
 begin
            for i := 1 to m-1 do
        for j := 1 to m-i do
            if s2[j] < s2[j+1] then begin
                k := s2[j];
                s2[j] := s2[j+1];
                s2[j+1] := k
            end;
 end;

 procedure ss3; var i,j,k:integer;
 begin
            for i := 1 to m-1 do
        for j := 1 to m-i do
            if s3[j] < s3[j+1] then begin
                k := s3[j];
                s3[j] := s3[j+1];
                s3[j+1] := k
            end;
 end;
 initialization;
ss1;
ss2;
ss3;

end.
kitsun вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение модулей пользователя mr_blackkrab Паскаль, Turbo Pascal, PascalABC.NET 1 29.03.2012 20:07
подключение модулей CodeNOT PHP 6 03.02.2012 09:18
Подключение модулей Adblock WordPress и другие CMS 1 23.01.2011 13:51
подключение модулей... Teleport Помощь студентам 2 25.06.2008 00:26
подключение модулей... Teleport Помощь студентам 1 13.06.2008 15:04