Foros del Web » Programación para mayores de 30 ;) » C/C++ »

menor de un vector.

Estas en el tema de menor de un vector. en el foro de C/C++ en Foros del Web. hola una pregunta, como se hace para encontrar el menor de un vector , que anteriormente lo inicialize a 0 todos sus valores.... le cargue ...
  #1 (permalink)  
Antiguo 16/04/2012, 01:39
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 12 años, 1 mes
Puntos: 5
menor de un vector.

hola una pregunta, como se hace para encontrar el menor de un vector , que anteriormente lo inicialize a 0 todos sus valores.... le cargue valores , es de 10 posiciones (no siempre estara completo el vector)...

me sale que siempre son 0...

Código PHP:
           
       menor 
v[1]; /* asumimos primero es menor */
       
       
repetido=1/* va una vez */

for (2<11i++) /* buscamos */
if (menor v[i]) /* si hay otro menor lo cambiamos */
{
menor v[i];

repetido 1;
}
else if(
menor == v[i]) /* si esta repetido contamos */
repetido ++;


for(
i=1;i<11;i++)
    {
        if(
menor==v[i])
        {
            
repet[i]=i;
        }
    }


printf("\nEl menor es %d y se repite %d veces, en las posiciones  ",menor,repetido);


    for(
i=1;i<11;i++)
       {
           if (
repet[i]!=0)
        
printf("-%d-",repet[i]);


       }

printf("\n\n");


      } 
  #2 (permalink)  
Antiguo 16/04/2012, 05:45
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 12 años, 2 meses
Puntos: 228
Respuesta: menor de un vector.

Seguro que esta bien inicializado?? Los array siempre empiezan en la posicion cero y van hasta N-1. En tu ejemplo si declaraste a tu vector asi:

int V[10].

el for deberia ser desde 0 hasta 9...y el tuyo llega a 10...fijate si con eso se soluciona.
  #3 (permalink)  
Antiguo 16/04/2012, 07:41
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 12 años, 1 mes
Puntos: 5
Respuesta: menor de un vector.

aunque no fuese el tema de los valores . que sean 11 posiciones en vez de 10. ya se lo que me decis....



como hago cuando en un vector. hay 10 posiciones. vacias. todas tienen 0. y cuando ingreso no llego a completar el vector. puede que halla un 0 (cero), siempre ese sera menor, pero yo quiero que me diga el menor de los numeros q ingrese...
  #4 (permalink)  
Antiguo 16/04/2012, 07:46
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 12 años, 2 meses
Puntos: 228
Respuesta: menor de un vector.

Tenes dos opciones... controlas hasta que posicion se ingreso. y el for lo realizas hasta esa posicion y no hasta el tope maximo...

La otra posicion es ignorar los ceros....
Código C:
Ver original
  1. if (menor > v[i] && v[i] != 0) /* si hay otro menor lo cambiamos */
  2. {
  3.     menor = v[i];
  4.     repetido = 1;
  5. }
  #5 (permalink)  
Antiguo 16/04/2012, 07:56
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 12 años, 1 mes
Puntos: 5
Respuesta: menor de un vector.

Cita:
Iniciado por sam90 Ver Mensaje
Tenes dos opciones... controlas hasta que posicion se ingreso. y el for lo realizas hasta esa posicion y no hasta el tope maximo...

La otra posicion es ignorar los ceros....
Código C:
Ver original
  1. if (menor > v[i] && v[i] != 0) /* si hay otro menor lo cambiamos */
  2. {
  3.     menor = v[i];
  4.     repetido = 1;
  5. }
muy bien, ignorar, los ceros.. pero si el usuario ingresa un cero....

bueno eso lo pense...

o indico q el cero ,es un numero invalido...

o a los numeros ingresados, los coloco en otro vector. y bueno de esos, q estan en el vector auxiliar,,, busco el menor..(o en una matriz, ya que necesito el valor y la posicion q ocupa... aunque ya me complico demasiado para algo tan simple,)
  #6 (permalink)  
Antiguo 16/04/2012, 08:37
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 12 años, 2 meses
Puntos: 228
Respuesta: menor de un vector.

Entonces usa la primera opcion.....lleva la cuenta de cuantos numeros se ingresaron... eso es lo correcto y es lo que se usa siempre....

Etiquetas: menor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:33.