Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

AYUDA CON UN PROGRAMA DE SACAR EL MAXIMO Y EL MINIMO DE UN VECTOR

  • Autor de tema Autor de tema celio
  • Fecha de inicio Fecha de inicio

celio

Bovino maduro
Desde
11 Ago 2007
Mensajes
239
El siguiente programa saca el maximo y el minimo de un vector:

void main()
{
int array[5];
int min,max,j;

for(j=0;j<5;j++){
cout<<"Dato :";
cin>>array[j];
}

min=array[0];
max=array[0];
for(j=0;j<5;j++){
if(array[j]< min)
min=array[j];
if(array[j]> max )
max=array[j];
}

cout<<"maximo es" <<max;
cout<<"minimo es" <<min;
El programa ejecuta normalmete PERO le estoy haciendo seguimiento(prueba de escritorio) y no entiendo una cosa



si capturo un vector con los siguientes datos:

8 2 17 1 6

al hacer la prueba de escritorio


Array[j] j min max
8 0 8 8
2 1
17 2
1 3
16 4


Por que min y max ambas se iniciañizan como Array[0] ?? quedan 8 y 8
Al momento de preguntar if(array[j]< min) osea 8 < 8?? no entiendo
y estoy confundido por favor ayudenme......

El progrma no lo hice yo , solamente le estoy haciendo seguimiento para mas logica



Atte CELIO , muchas gracias
 
A LO QUE ENTIENDO ES DE QUE QUIERES SACAR EL NUMERO MAYOR Y EL MENOR DE 5 NUMEROS INTRODUCIDOS EN UN VECTOR DIME SI ES ASI O COMO
 
si claro es asi , pero el seguimiento o prueba de escritorio no me da
 
si claro es asi , pero el seguimiento o prueba de escritorio no me da

checa bien tu prueba de escritorio,por q ay una iteracion en la q 17>8 por lo tanto max pasa a tomar ese valor....
y algo asi pasa con el minimo

saludos!!!
 
checa bien tu prueba de escritorio,por q ay una iteracion en la q 17>8 por lo tanto max pasa a tomar ese valor....
y algo asi pasa con el minimo

saludos!!!

aver te explico un poco mas tu duda:
se asigna max=array[0] y min=array[0], para que tenga el primer valor del vector y asi poder comparar con los demas.
En la primera comparacion cuando j=0, es array[j](8)>max(8)...es logico q 8 no es mayor q 8, asi q no ase la asignacion sino incrementa el valor y asi sucesivamente asta llegar ala iteracion cuando array[j]=17:::.:entonces hay 17>8--->por lo tanto max obtiene el valor de array[j]:....es decir vale 17 y algo similar pasa con el minimo.

ahora q si te molesta q compare 8>8,y puede omitir ese paso inicializando el ciclo en 1.
es decir quedaria algo asi::::.
for(j=1;j<5;j++){
.......
........
}

espero haberme sabido explicar jejej y solucionar tu duda :)
es que explicandome no soy muy bueno jejejej xD saludos :metal::metal::metal:
 
ah juan_ant007 a trino tec y parker eskywalker muchas gracias

lo que me confundi es que cuando se hace 8 igual a 8 pues obvio el ciclo se rompe , pero hay que hacer caso omiso por que arriba el for osea j++ aumenta 1 y la consulta sesigue haciendo , a ustedes les agradesco mucho en esto de los arreglos seguire practicando muchas gracias
 
Volver
Arriba