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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2008, 22:09   #1
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
По умолчанию Передача переменных между процедурами

Умные люди!помогите пожалуйста!!!я все написал только вот как передать переменную не знаю!!
Program KyPCoBuK;
Uses CRT;
const max=100;
type
Myarr=array[0..max,0..max] of integer;
var
a,z:myarr;
n,m,i,j:integer;
min1,min2,max1,max2:integer;
{__________________________________ ______PROCEDURE-----------------------}
Procedure Input(var a:myarr;n,m:integer);
var
i,j:integer;
begin
write('CkoJlbKo CTPOK=');
readln(n);
write('CkoJlbKo CTOJlboB=');
readln(m);
if(n>max) or (m>max) then writeln('OLLIubKA') else
begin
if(n<=0) or (m<=0) then writeln('OLLIubKa') else
begin
for i:=1 to n do
for j:=1 to m do
begin
write('BBEDu a[',i,';',j,']=');
readln(a[i,j]);
end;
end;
end;
end;
{__________________________________ _______________BBoD------}
Procedure OutPut(a:myarr;n,m:integer;var z:myarr);
var
i,j,min1,min2,max1,max2:integer;
work1,work2:boolean;
Begin

work1:=true;
for i:=1 to n do
for j:=1 to m do
begin
if a[i,j]>0 then min1:=a[i,j];
end;
if min1=0 then
begin
work1:=false;
Writeln('TyT HET TToJlo}l{uTeJlbHblX 4uCeJl');
end;
{MIN1 HA4AJlbHoE 3Ha4eHue}
if work1=true then
for i:=1 to n do
for j:=1 to m do
if a[i,j]>0 then
if a[i,j]<min1 then
min1:=a[i,j];
{MIN1 HauDeHo--------------------------------}
if work1=true then
for i:=1 to n do
for j:=1 to m do
begin
if a[i,j]>0 then
if a[i,j]<>min1 then
min2:=a[i,j];
end;
if min2=0 then
begin
work1:=false;
Writeln('TyT HET 2x 4uCeJl');
end;
if work1=true then
for i:=1 to n do
for j:=1 to m do
begin
if a[i,j]<>min1 then
if (a[i,j]>0) and (a[i,j]<min2) then
min2:=a[i,j];
end;

work2:=true;
max1:=0;
max2:=0;
for i:=1 to n do
for j:=1 to m do
begin
if a[i,j]<0 then max1:=a[i,j];
end;
if max1=0 then
begin
work2:=false;
Writeln('TyT HET OTPuyATeJlbHblX 4uCeJl');
end;
{MAX1-PRIMERHO}
if work2=true then
for i:=1 to n do
for j:=1 to m do
if a[i,j]<0 then
if a[i,j]>min1 then
min1:=a[i,j];
{Max1 HauDeHo--------------------------------}
if work2=true then
for i:=1 to n do
for j:=1 to m do
if a[i,j]<0 then
if a[i,j]<max1 then
max2:=a[i,j];
if max2=0 then
begin
work2:=false;
Writeln('TyT HET 2x OTPuyATeJlbHblX 4uCeJl');
end;


if work2=true then
for i:=1 to n do
for j:=1 to m do
if a[i,j]<0 then
begin
if (a[i,j]<>max1) and (a[i,j]>max2) then
max2:=a[i,j];
end;
writeln(min1,' ',min2,' ',max1,' ',max2,' ');
end;

Begin;
ClrScr;
Input(a,n,m);
OutPut(a,n,m,z);
readkey;
end.
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Старый 14.12.2008, 22:10   #2
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
По умолчанию

вот как мне передать массив и 2 переменные из процедуры Input в процедуру OutPut
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Старый 14.12.2008, 23:55   #3
MalexG
Форумчанин
 
Регистрация: 06.11.2008
Сообщений: 100
По умолчанию

При передаче в процедуру массива как параметра нумерация индексов этих массивов начинается с "0".
Используйте цикл:
Код:
for i := 0 to N-1 do
  for j := 0 to M-1 do
    ...
MalexG вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных между страницами IQ-40 Безопасность, Шифрование 0 28.01.2008 11:32
передача данных между процедурами Неясыть Общие вопросы Delphi 15 18.11.2007 12:54
передача переменных между страницами fufel JavaScript, Ajax 10 22.10.2007 17:04
FastReport с 2-я процедурами Abay БД в Delphi 2 20.09.2007 06:23
Передача данных между окнами/приложениями? Dexer Win Api 11 23.05.2007 16:23