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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2017, 23:31   #1
Bmstu
 
Регистрация: 28.10.2017
Сообщений: 6
По умолчанию Процедуры

Код:
program masissdd;
uses SysUtils;

type matr=array[1..10,1..14] of integer;
     mPol=array[1..140] of integer;
     mOtr=array[1..140] of integer;
procedure zap (n,m:byte;var a:matr);
  var i,j:byte;
  begin
   for i:=1 to n do
            for j:=1 to m do a[i,j]:=Random(40)-20;
   for i:=1 to n do begin
          writeln;
          for j:=1 to m do write(a[i,j]);
                    end;
            
  end;
 {------------------------------- }
  
procedure polotr (n,m:integer; a:matr; Pol,Otr:mPol; kPol,kOtr:integer;);
var i,j:integer;
    k,l:byte;
    begin 
    kPol:=0;
    kOtr:=0;
        for i:=1 to n do 
            for j:=1 to m do begin
                   if a[i,j]>0 then begin
                                    kPol:=kPol+1;
                                    Pol[kPol]:=a[i,j];
                                    end
                               else begin 
                                    kOtr:=kOtr+1;
                                    Otr[kOtr]:=a[i,j];
                                    end;
     end;
     end;
     {-----------------Основная программа------------------}
  var   A:matr;
        Pol,Otr:mPol;
        m,n,i,kPol,kOtr:byte;
                               
begin
  randomize;
  kPol:=0;
  kOtr:=0;
  writeln('Введите кол-во строк и столбцов');
  readln(n,m);
  {Заполнение матрицы}
  zap(n,m,A);
  {Выполнение задачи}
  polotr(n,m,A,Pol,Otr,kPol,kOtr);
  writeln;
  writeln('Количество положительных',kPol,'Количество отрицательных',kOtr);
  writeln;
  writeln('Массив из положительных чисел');
  writeln;
  for i:=1 to kPol do write(Pol[kPol]);
  writeln('Массив из отрицательных чисел');
  writeln;
  for i:=1 to kOtr do write(Otr[kOtr]);
  readln;
end.
Вторая процедура не вносит значения в массивы Pol и Otr
Как исправить?
Самое странное(для меня) через отладчик когда смотрю после выполнения процедуры zap в массиве А числа остаются до конца. А во время выполнения процедуры polotr в массивы Pol Otr изменяются, но в конце процедуры все заменяется нулями.

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 28.10.2017 в 23:40.
Bmstu вне форума Ответить с цитированием
Старый 29.10.2017, 00:11   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Цитата:
Сообщение от Bmstu Посмотреть сообщение
не вносит значения в массивы Pol и Otr
Не удивительно, ибо забыли волшебное слово var в procedure перед именами аргументов, которые - результаты.
type_Oleg вне форума Ответить с цитированием
Старый 29.10.2017, 02:04   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

var
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры и функции - Заданы три двумерных массива одинаковой размерности. Написать фукнции и процедуры их обработки sekirei Паскаль, Turbo Pascal, PascalABC.NET 8 21.11.2013 15:45
Определение имени процедуры из нутри самой процедуры RISagitov Microsoft Office Excel 8 28.09.2012 17:15
Использование имени процедуры в качестве параметра другой процедуры Alexey355 Помощь студентам 1 23.04.2011 13:59
закончить выполнение процедуры из тела другой процедуры Alaysor Общие вопросы Delphi 14 23.01.2011 05:26
Управляющие структуры, процедуры Function и процедуры Sub Natalo4ka Помощь студентам 0 17.05.2010 22:00