Advertisement
Riposati

Untitled

Jul 22nd, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     int n,i,menor,maior;
  10.  
  11.     cin>>n;
  12.  
  13.     int vet[n+10];
  14.  
  15.     for(i=0;i<n;i++){
  16.         cin>>vet[i];
  17.     }
  18.  
  19.     bool testa = true;
  20.  
  21.     while(testa){
  22.  
  23.         bool f = false;
  24.  
  25.         menor = vet[0];
  26.         maior = vet[0];
  27.  
  28.         int indice1=1;
  29.         int indice2=1;
  30.  
  31.         for(i=0;i<n;i++){ // se for zero vou andando até achar um valor q não é zero
  32.  
  33.             if(vet[i]!=0){
  34.                 menor = vet[i];
  35.                 indice1 += i;
  36.                 break;
  37.             }
  38.  
  39.             if(vet[i]!=0){
  40.                 maior = vet[i];
  41.                 indice2 += i;
  42.                 break;
  43.             }
  44.         }
  45.  
  46.         for(i=0;i<n;i++){ // pega maior e menor
  47.             if(vet[i] != 0 && menor > vet[i]){
  48.  
  49.                 menor = vet[i];
  50.                 indice1 = i+1;
  51.             }
  52.             if(vet[i] != 0 && maior < vet[i]){
  53.  
  54.                 maior = vet[i];
  55.                 indice2 = i+1;
  56.             }
  57.         }
  58.  
  59.         if(indice1 == indice2){ // se for igual incrementa 1 no ind 2
  60.             indice2++;
  61.         }
  62.  
  63.         bool ok = false;
  64.         for(i=0;i<n-1;i++){ // verifica se tudo é repetido
  65.  
  66.             if(vet[i]==vet[i+1]){
  67.  
  68.                 ok = true;
  69.             }else{
  70.  
  71.                 ok = false;
  72.                 break;
  73.             }
  74.         }
  75.  
  76.         if(ok){ // se for tudo repetido no array
  77.             for(i=0;i<n;i++){
  78.                 printf("%d ",i+1);
  79.                 if(i % 2!=0)printf("\n");
  80.             }
  81.             break;
  82.         }else{
  83.  
  84.             printf("%d %d",indice1,indice2);
  85.             printf("\n");
  86.         }
  87.  
  88.         for(i=0;i<n;i++){ // zera o maior e menor dessa rodada
  89.             if(vet[i]==maior){
  90.                 vet[i] = 0;
  91.             }
  92.             if(vet[i]==menor){
  93.                 vet[i] = 0;
  94.             }
  95.         }
  96.  
  97.         for(i=0;i<n;i++){ // serve pra testa se é tudo zero
  98.             if(vet[i]!=0){
  99.                 f = true;
  100.                 break;
  101.             }
  102.         }
  103.  
  104.         if(!f)testa = false; // se for tudo zero para
  105.         f = false;
  106.     }
  107.     return 0;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement