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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2011, 03:16   #1
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию Программа и процедура

Доброго вам времени суток!Помогите пожалуйста я написал вот это задание:"составить процедуру,обнуляющую столбец матрицы,если соответствующий столбец матрицы неупорядочен."Только вместо процедуры использовал просто тело программы:Вот код:
Код:
program ss;
uses crt;

var mas:array [1..100,1..100] of integer;
    n,m,j,i,k:integer;
begin
clrscr;
writeln('vvedite kolichestvo strok and stolbcov');
readln(n,m);
for i:=1 to n do
    for j:=1 to m do
    readln(mas[i,j]);
for j:=1 to m do
    for i:=1 to n do begin
    if mas[i,j]>mas[i+1,j] then
      for k:=1 to n do
           mas[k,j]:=0;
            break;
           end;
for i:=1 to n do
    for j:=1 to m do
    if j=m then
       writeln(mas[i,j])
       else
       write(mas[i,j],'  ');
       readln;
end.
Помогите преобразовать мою программу в процедуру!
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 30.12.2011, 06:05   #2
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Да пожалуйста
Код:
program ss;
uses crt;

type matrix = array [1..100,1..100] of integer;
var mas:matrix;
    n,m,j,i:integer;

procedure SetMeNull(n,m:integer; var mt:matrix);
var i,j,k:integer;
begin
for j:=1 to m do
    for i:=1 to n-1 do begin
    if mt[i,j]>mt[i+1,j] then
      for k:=1 to n do
           mt[k,j]:=0;
            break;
           end;
end;

begin
clrscr;
writeln('vvedite kolichestvo strok and stolbcov');
readln(n,m);
for i:=1 to n do
    for j:=1 to m do
    readln(mas[i,j]);

SetMeNull(n,m,mas);

for i:=1 to n do
    for j:=1 to m do
    if j=m then
       writeln(mas[i,j])
       else
       write(mas[i,j],'  ');
       readln;
end.
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 30.12.2011, 06:11   #3
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Код:
type mytype = array [1..100,1..100] of integer;
      var   n,m,j,i,k: integer;

      procedure aaa(var mas: mytype);
      begin
         {тело процедуры}
      end;     
BEGIN
   aaa(mas); {вызов процедуры}
END.
Zer0, опередили)
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна функция или процедура для того чтобы программа стала резидентной! star007 Помощь студентам 3 22.03.2010 08:59
Процедура установки позиции с которой программа должна читать файл не работает. FASM. Crivel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 13.09.2009 21:46
Процедура в процедура в C++ Builder Ecosasha C++ Builder 2 06.06.2009 17:17
Рабочая программа, готовая процедура, а сложить не удается. Macintoshka Помощь студентам 13 31.03.2009 12:40