Помощь - Поиск - Пользователи - Календарь
Полная версия: ЗАдача с массивами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
qwerty)
Помогите пожалуста бедному студенту,прога не пашет,точнее пашет но неправильно,задали с подпрограммами.Выводит всегда Т,равному у(1)

Даны массивы x(25) и y(25).Найти :

Max(x),eсли min(x) <0
T=
Min(y) иначе
Вот текст моей проги

 program zachita;
type vect=array[1..25] of integer;
var x,y:vect;t,i,minx,miny,min,max:integer;
Procedure wwod (n:integer;var z:vect;q:string);
var i:integer;
begin
For i:=1 to n do begin write (q,'[',i,']=');readln(z[i]);
end;end;
Procedure minimum (z:vect;k:integer;var min:integer);
var i:integer;
begin
min:=z[1];
For i:=2 to k do
If z[i]< min then z[i]:=min;
end;
Procedure shet (z:vect;k:integer;var max:integer);
var i:integer;
begin
max:=z[1];
For i:=2 to k do
If z[i]>max then max:=z[i];
end;
begin
wwod (5,x,'x');
wwod (5,y,'y');
minimum (x,5,min);
minimum (y,5,min);
minx:=min;
miny:=min;
shet (x,5,max);
shet (y,5,max);
t:=0;
If minx<0 then t:=max else t:=miny;
writeln ('t=',t);
readln;readln;
end.
.



Пы.сы,вводил 5,чтоб меньше набивать

Добавлено через 14 мин.
никто не поможет....(
nesh
Пашет, но неправильно, да?!
А что она тогда выдает место верного ответа???
qwerty)
Выводит всегда Т,равному у(1)
Артемий
Procedure minimum (z:vect;k:integer;var min:integer);
var i:integer;
begin
min:=z[1];
For i:=2 to k do
If z[i]< min then min:=z[i];
end;

А там ты массив зачем-то изменял!
Sto
Разбирайся
program zachita;
type vect=array[0..25] of integer;
var x,y:vect;t,i,minx,miny,min,max:integer;
Procedure wwod (n:integer;var z:vect;q:string);
var i:integer;
begin
For i:=0 to n do begin write (q,'[',i,']=');readln(z[i]);
end;end;
Procedure minimum (z:vect;k:integer;var min:integer);
var i:integer;
begin
min:=z[0];
For i:=1 to k do
If z[i]< min then z[i]:=min;
end;
Procedure shet (z:vect;k:integer;var max:integer);
var i:integer;
begin
max:=z[0];
For i:=1 to k do
If z[i]>max then max:=z[i];
end;
begin
wwod (5,x,'x');
wwod (5,y,'y');
minimum (x,5,minx);
minimum (y,5,miny);
shet (x,5,max);
If minx<0 then t:=max else t:=miny;
writeln ('t=',t);
readln;
end.


Номерация элементов масива начинается с 0.
qwerty)
Спасибо тебе большое sto щас буду разбираться
Sto
Цитата(qwerty) @ 13.05.2007 18:45) *

...
minimum (x,5,min);
minimum (y,5,min);
minx:=min;
miny:=min;
shet (x,5,max);
shet (y,5,max);
...

minx и miny у тебя равны минимальному значению масива y.
Вместо максимума масива x получал максимум масива y.
И напутал с масивами.
qwerty)
Цитата(Sto @ 13.05.2007 20:35) *

minx и miny у тебя равны минимальному значению масива y.
Вместо максимума масива x получал максимум масива y.
И напутал с масивами.

огромное спасибо
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.