GatoBooster

MOD 3 Cuest 7 Preg 3

Oct 15th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.29 KB | None | 0 0
  1. int mayorValor ( int *vector, int mayor, int posFinal);
  2.  
  3. int main()
  4. {
  5.     int n,i;
  6.     scanf("%d",&n);
  7.     int vector[n];
  8.     for(i = 0; i < n; i++){
  9.         scanf("%d",&vector[i]);
  10.     }
  11.    
  12.     printf("Mayor Valor en el Conjunto es : %d\n",mayorValor(vector,vector[n-1],n-2));
  13.     return 0;
  14. }
  15.  
  16.  
  17. int mayorValor ( int *vector, int mayor, int posFinal){
  18.     int izq = 0, aux = 0;
  19.    
  20.     int i = 0, j = 0;
  21.     //printf("- %d -",posFinal);si se suman 2 calza
  22.    
  23.     for(i = 0; i < posFinal+2; i++){
  24.         for(j = i+1; j < posFinal+2; j++){
  25.             if(vector[i] > vector[j]){
  26.                 aux = vector[i];
  27.                 vector[i]=vector[j];
  28.                 vector[j]=aux;
  29.             }
  30.         }
  31.     }
  32.    
  33.     for(i = 0; i < posFinal+2; i++){
  34.         printf("%d ",vector[i]);
  35.     }
  36.        posFinal += 2;
  37.     do{
  38.         aux = izq + posFinal;
  39.         aux /= 2;
  40.        
  41.         if(aux % 2 == 0){
  42.             aux = aux / 2;//printf("while izq: %d\n",izq);
  43.         }else{
  44.             aux = (aux / 2) + 1;
  45.             //printf("While der: %d\n",mayor);
  46.         }
  47.        
  48.         if(vector[aux] >= mayor){
  49.             izq = aux;
  50.         }else{
  51.             posFinal = aux;
  52.         }
  53.        
  54.     }while(izq == mayor);
  55.    
  56.    
  57.    
  58.    
  59.     return vector[mayor];
  60. }
Advertisement
Add Comment
Please, Sign In to add comment