Anônimo
Anônimo perguntou em Computadores e InternetProgramação e Design · Há 6 meses

Tenho que inverter os valores de a pra b e b pra a. Ele até faz mas fica repetido os valores. Queria saber o que fazer?

#include <iostream>

using namespace std;

int a,b,i,x,aux;

int vetor[10];

int main(){

for(a=0;a<10;a++){

cout<<"Vetor A: \n";

cout<<"Digite um valor: ";

cout<<"\n";

cin>>vetor[a];

}

for(b=0;b<10;b++){

cout<<"Vetor B: \n";

cout<<"Digite um valor: ";

cout<<"\n";

cin>>vetor[b];

}

for(x=0;x<10;x++){

for(i=x;i<10;i++){

aux = vetor[a];

vetor[a]= vetor[b];

vetor[b] = aux;

}

for(a=0;a<10;a++){

cout<<"VetorA: "<<vetor[a]<<"\n";

}

for(b=0;b<10;b++){

cout<<"VetorB: "<<vetor[b]<<"\n";

}

}

}

1 Resposta

Classificação
  • Há 6 meses
    Melhor resposta

    Você só definiu um vetor.

    Primeiro lê e armazena 10 valores e depois lê e armazena exatamente nas mesmas posições outros 10 valores.

    Na parte da troca você varia a variável x mas utiliza a e b como índices.

    Defina 2 vetores e não um só.

    #include <iostream>

    using namespace std;

    int a,b,i,x,aux;

    int vetora[10], vetorb[10];

    int main(){

    for(a=0;a<10;a++){

    cout<<"Vetor A: \n";

    cout<<"Digite um valor: ";

    cin>>vetora[a];

    }

    for(b=0;b<10;b++){

    cout<<"Vetor B: \n";

    cout<<"Digite um valor: ";

    cin>>vetorb[b];

    }

    for(i=;i<10;i++){

    aux = vetora[i];

    vetora[i]= vetorb[i];

    vetorb[i] = aux;

    }

    for(a=0;a<10;a++){

    cout<<"VetorA: "<<vetor[a]<<"\n";

    }

    for(b=0;b<10;b++){

    cout<<"VetorB: "<<vetor[b]<<"\n";

    }

    }

    return 0;

    }

Tem mais perguntas? Obtenha suas respostas perguntando agora.