I have to write a program using a recursive function to return the largest number within an array of bytes.
Here's what I have:
Const
dim = 5;
Type
tvVector = array[1..dim] of byte;
Procedure Asignacion(var vVector : tvVector);
var i : byte;
Begin
For i := 1 to dim Do
Begin
writeln('Input a number for ',i,' :');
readln(vVector[i]);
End;
End;
Function Maximo(i : byte;var max : byte; var vVector : tvVector):byte;
Begin
While(i <= dim) Do
If vVector[i] > max then
Begin
max := vVector[i];
Maximo := Maximo(i+1,max,vVector);
End
Else
Maximo := Maximo(i+1,max,vVector);
Maximo := max;
End;
var
i,max,res : byte;
vVector : tvVector;
Begin
Asignacion(vVector);
i := 1;
max := 0;
res := Maximo(i,max,vVector);
writeln('The largest number is: ',res);
readln();
End.
The problem is that once the program calls upon the function, it will get into an infinite loop.
Any suggestions?
Thanks in advance!


Sign In
Create Account


Back to top









