Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Caio Nunes

Mostrar numeros repetidos de uma matriz

Recommended Posts

Galera,

 

Estou com um trabalho para fazer e onde eu tenho que fazer:

 

 

 

1º - 10 vetores contendo cada um 50 números aleatórios de 1 a 600.

 

2º - Verificar quais números repetiram nos vetores e quantas vezes repetiram.

 

3º - Imprimir os dois menores numeros dos vetores.

 

4º - Imprimir os dois maiores números dos vetores.

 

5º - Imprimir a diferença entre os dois maiores (1º maior - 2º menor).

 

 

 

O problema é que eu ja de certa forma fiz o programa (código abaixo), mas quando eu inicializo o proprama os números não estão condizendo com o que deve ser (ex.: eu quero mostrar o números que estão repetindo na matriz e quantas vezes eles repetem, ai beleza, mas quando rodo o programa os números que me mostra não repetem aquele número x de vezes), assim gostaria vocês me ajudassem.

 

Obrigado.

 

 

 

_____________________________________________________________

 

 

 

Código

 

C++

 

 

 

 

 

#include <iostream>;

using namespace std;


    int i,j;
    int contador=0;
    const int lin=10,col=50;
    int x[lin][col];
    int menor=600,menor2=600;
    int maior=0,maior2=0;     



void mostra_matriz(){

    srand(time(NULL));

    for (i=0;i<lin;i++){
         for (j=0;j<col;j++){
              x[i][j]=rand()%599+1
              cout<<x[i][j]<<" "; 

}

}

}



void repete(){                  [b]// mostra os números repetidos da matriz (AQUI É QUE ESTÁ O PROBLEMA)[/b]
    for (i=0;i<lin;i++){
         for (j=0;j<col;j++){
              if (x[i]==x[j]){
              contador++;
              cout<<x[i][j]<<" repete "<<contador<<" vezes\n";
}

}

}

} 



void menor1_menor2(){           //seleciona o 1º menor e o 2º menor

    for (i=0;i<lin;i++){
         for (j=0;j<col;j++){
              if (x[i][j]<menor){
                   menor=x[i][j]; 
}
              if (x[i][j]>menor&&x[i][j]<menor2){
                   menor2=x[i][j];

}

}

}

}


void maior1_maior2(){          //seleciona o 1º maior e o 2º maior

    for (i=0;i<lin;i++){
         for (j=0;j<col;j++){
              if (x[i][j]>maior){
                   maior=x[i][j];
}

              if (x[i][j]<maior&&x[i][j]>maior2){
                   maior2=x[i][j];

}

}

}

} 



int main (){                //Início do Programa
mostra_matriz();
cout<<endl;
cout<<endl;
repete();
cout<<endl;
cout<<endl;
menor1_menor2();
cout<<"O primeiro menor numero e: "<<menor<<" e o segundo menor numero e: "<<menor2<<endl;
cout<<endl;
cout<<endl;
maior1_maior2();
cout<<"O primeiro maior numero e: "<<maior<<" e o segundo maior numero e: "<<maior2<<endl;
cout<<endl;
cout<<endl;
cout<<"A direnca entre o primeiro maior ("<<maior<<") e o segundo maior ("<<maior2<<") e: "<<maior-maior2<<endl;
cout<<endl;
cout<<endl; 
system ("PAUSE");
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, só uma coisa que pode te ajudar..

de uma lida sobre o container map, se tiver dúvidas posta ae.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.