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

Guardar una posición de un vector

Estas en el tema de Guardar una posición de un vector en el foro de C/C++ en Foros del Web. Buenas a todos, tengo un gran problema que hace rato que no lo puedo resolver. El enunciado es el siguiente: • Ordenar el 2º vector ...
  #1 (permalink)  
Antiguo 13/02/2008, 08:14
 
Fecha de Ingreso: febrero-2008
Mensajes: 18
Antigüedad: 16 años, 2 meses
Puntos: 0
Guardar una posición de un vector

Buenas a todos, tengo un gran problema que hace rato que no lo puedo resolver. El enunciado es el siguiente:

• Ordenar el 2º vector en forma decreciente desde el primer número mayor a 10 hasta el final. Mostrarlo.

Ordenarlo en forma decreciente puedo hacerlo, lo que no puedo hacer es obtener la posición del primer número mayor a 10. Necesito que alguien me ayude, el código sería así hasta ahora.

Código:
int posprimmayora(int x[], int n)
{
     int i;
     
     for(i=0;i<n;i++)
     {
         if(x[i]>10)
         {
             //Acá nosé como guardar la posición del 1º mayor a 10;
            
         }
     }
     return;
}     

void ordenar(int x[], int pri, int n)     
{
    int i,j=0,aux;
    
    for(i=pri;i<n-1;i++)
    {
         for(j=i+1;j<n;j++)
         {
             if(x[i]<x[j])
             {
	         aux=x[i];
                 x[j]=x[i];
                 x[j]=aux;
             }
         }
     }
}
//"pri" sería la posición que retornaría de "posprimmayora".

Espero que alguien me pueda resolver esa duda lo más pronto posible =S, y utilizo los programas Borland C y el Dev-C++ por las dudas lo comento.

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 13/02/2008, 14:03
 
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Guardar una posición de un vector

Hola, la solución es muy sencilla. Para obtener la primera posición del primer número mayor que 10 basta con devolver el valor i en la función posprimmayora, de esta forma cuando lo encuentre devolverá la posición y el buble "for" no seguirá ejecutándose. Quedaría así:

Código:
int posprimmayora(int x[], int n)
{
     int i;
     
     for(i=0;i<n;i++)
     {
         if (x[i]>10)
            return (i);
     }
}

Espero que te haya servido de ayuda, un saludo

Última edición por mArss; 13/02/2008 a las 14:10
  #3 (permalink)  
Antiguo 13/02/2008, 14:13
 
Fecha de Ingreso: febrero-2008
Mensajes: 18
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Guardar una posición de un vector

Muchas gracias por responder, creí que nadie lo haría. Es que ahora mismo tengo un final, antes de irme me resolvistes esa duda, muchísimas gracias. ;D


Saludos.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 17:56.