Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
- using namespace std;
- int main()
- {
- int n,i,menor,maior;
- cin>>n;
- int vet[n+10];
- for(i=0;i<n;i++){
- cin>>vet[i];
- }
- bool testa = true;
- while(testa){
- bool f = false;
- menor = vet[0];
- maior = vet[0];
- int indice1=1;
- int indice2=1;
- for(i=0;i<n;i++){ // se for zero vou andando até achar um valor q não é zero
- if(vet[i]!=0){
- menor = vet[i];
- indice1 += i;
- break;
- }
- if(vet[i]!=0){
- maior = vet[i];
- indice2 += i;
- break;
- }
- }
- for(i=0;i<n;i++){ // pega maior e menor
- if(vet[i] != 0 && menor > vet[i]){
- menor = vet[i];
- indice1 = i+1;
- }
- if(vet[i] != 0 && maior < vet[i]){
- maior = vet[i];
- indice2 = i+1;
- }
- }
- if(indice1 == indice2){ // se for igual incrementa 1 no ind 2
- indice2++;
- }
- bool ok = false;
- for(i=0;i<n-1;i++){ // verifica se tudo é repetido
- if(vet[i]==vet[i+1]){
- ok = true;
- }else{
- ok = false;
- break;
- }
- }
- if(ok){ // se for tudo repetido no array
- for(i=0;i<n;i++){
- printf("%d ",i+1);
- if(i % 2!=0)printf("\n");
- }
- break;
- }else{
- printf("%d %d",indice1,indice2);
- printf("\n");
- }
- for(i=0;i<n;i++){ // zera o maior e menor dessa rodada
- if(vet[i]==maior){
- vet[i] = 0;
- }
- if(vet[i]==menor){
- vet[i] = 0;
- }
- }
- for(i=0;i<n;i++){ // serve pra testa se é tudo zero
- if(vet[i]!=0){
- f = true;
- break;
- }
- }
- if(!f)testa = false; // se for tudo zero para
- f = false;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement