Pascal/Turbo Pascal - necesito ayuda

 
Vista:

necesito ayuda

Publicado por victor (10 intervenciones) el 05/06/2008 21:05:53
En el procedure busca_minimo funciona y busca el cuadro minimo pero no se como hacer para que salga el numero del cuadro minimo o sea tendria que ser así:

--el precio del cuadro 3 es el minimo y cuesta 85--

. No se como poner para que salga el numero de cuadro 3 en este caso. Alguien me dice donde fallo? gracias y saludos.

Program galeria;

Const
tamcolection= 4;

Type
coleccion= array[1..tamcolection] of integer;

Procedure lee_tabla(var precios:coleccion;tamcolection:integer);

Var
i:integer;
Begin
Writeln('Introduzca el precio de los cuadros:');
for i:= 1 to tamcolection do
begin
writeln('cuadro ',i,':');
readln(precios[i]);
end;
end;

Procedure imprime_tabla(precios:coleccion;tamcolection:integer);

Var
i:integer;
Begin
Writeln('Precio de los cuadros:');
for i:= 1 to tamcolection do
begin
Writeln('>',i,' :',precios[i]);
end;
end;

Function suma_coleccion(precios:coleccion;tamcolection:integer):integer;

Var
i:integer;
suma1:integer;
Begin
suma1:=0;
for i:= 1 to tamcolection do
suma1:=suma1+precios[i];
suma_coleccion:=suma1;
end;

Procedure busca_minimo(var precios:coleccion;tamcolection:integer);

Var
i:integer;
minimo:integer;
Begin
minimo:=precios[1];
for i:= 2 to tamcolection do
if (minimo > precios[i]) then
minimo:=precios[i];
writeln('> El precio del cuadro ',i,' es el minimo y cuesta: ',minimo);
End;

Var
precios: coleccion;
suma:integer;
Begin
lee_tabla(precios,tamcolection);
imprime_tabla(precios,tamcolection);
suma:=suma_coleccion(precios,tamcolection);
writeln('> Valor de la coleccion:',suma);
busca_minimo(precios,tamcolection);
end.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:necesito ayuda

Publicado por yoo (2 intervenciones) el 05/06/2008 21:40:54
Hola, tenes que imprimir el indice del vector, es decir, buscar el precio minimo e imprimir su posicion en el vector(i).
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:necesito ayuda

Publicado por victor (10 intervenciones) el 06/06/2008 16:38:08
Uhm no te entiendo bien ,me podrías especificar un poco mas,gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:necesito ayuda

Publicado por Diego Romero (996 intervenciones) el 06/06/2008 18:47:20
Tu método para hallar el mínimo contiene un bug ¿qué tal si el mínimo es el elemento 1 del array?.
Además el índice i que usas en el for siempre termina valiendo tamcolection sin importar en qué posición esté el mínimo buscado, de allí que el mensaje te muestre información incorrecta. Esta es mi versión del procedimiento en cuestión.

Procedure busca_minimo(var precios:coleccion;tamcolection:integer);

Var
i, bki:integer;
minimo:integer;
Begin
minimo:=maxint;
bki:=1;
for i:= 1 to tamcolection do
begin
if (minimo > precios[i]) then
begin
minimo:=precios[i];
bki:=i;
end; { if }
end; { for }
writeln('> El precio del cuadro ',bki,' es el minimo y cuesta: ',minimo);
End; { busca_minimo }

Maxint es una costante predefinida que vale el máximo valor que un integer puede almacenar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:necesito ayuda

Publicado por victor (10 intervenciones) el 09/06/2008 16:16:44
Gracias diego por tu ayuda .un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar