2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Pascal. Процедуры и функции.
Сообщение07.06.2010, 19:21 
Здравствуйте!
Задача: написать программу для выявления максимального значения в каждом из трёх одномерных массивов.
Попытаюсь словами объяснить свой алгоритм:
1. Ввод массива с клавиатуры (через процедуру)
2. Выбираю максимум (через процедуру)
3. В основной программе оперирую заранее введёнными процедурами

Вот мой код

Код:
Program Zadacha;
const N=10; M=3;
type Data=array [1..N] of real;
var arM:Data; max:integer;  i:integer;
procedure F1(var arA: Data);
var I:integer;
begin
writeln ('Vvod massiva');
for I:=1 to N do
begin
write ('Vvesti A[',I,']');
readln(arA[I]);
end;
end;
procedure F2(var arA: Data);
var I:integer;
begin
for I:=1 to N do
if arA[i]>arA[i+1] then arA[i]:=max
else arA[i+1]:=max;
end;
BEGIN
i:=1 to M do F1;
i:=1 to M do F2;
writeln('max', max);
readln;
readln;
END.


Ошибку выдаёт, где идёт первое обращение к процедуре F1. Там думаю, что нужно указать фактические параметры.
Заранее большое спасибо!

 
 
 
 Re: Pascal. Процедуры и функции.
Сообщение07.06.2010, 20:22 
Потеряли ключевые слова for в основном блоке. Объявление var arM:Data попробуйте заменить на var arM: array[1..M] of Data. В основном блоке вызывайте ваши процедуры, передавая им параметр arM[i]. Перепишите процедуру F2, уж поиск-то максимального элемента в массиве всяко не должен вызывать затруднений (т.е. кладете в max значение первого элемента массива и все оставшиеся сравниваете с max, если очередной элемент превышает сохраненное значение -- корректируйте max)... В основном блоке вашей программульки вывод данных производите на каждой итерации последнего цикла (т.е. вставьте begin до F2 и end -- после строчки с writeln). Примерно так...

 
 
 
 Re: Pascal. Процедуры и функции.
Сообщение08.06.2010, 16:39 
Большое спасибо! Сейчас попробую...

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group