Faça um algoritmo que carregue um vetor de 20 posições com numeros inteiros e que mostre os numeros que aparecem mais de uma vez e quantas vezes cada numero se repete, mostrando um relatório da seguinte forma:
O numero 5 aparece duas vezes no vetor, nas posições 0,12
O numero 4 aparece duas vezes no vetor, nas posições 1,16
O numero 3 aparece três vezes no vetor, nas posições 2,7,15
O numero 18 aparece duas vezes no vetor, nas posições 3,18
Por favor me ajudem, eu consegui fazer, mais ele mostra o numero repetido mais de uma vez, por exemplo : O numero 5 a mensagem aparecia quando o vetor estivesse na posição 0 e mostraria aquela mensagem e de novo quando o vetor estiver na posição 12, então está repetindo sem necessidade, e eu não sei como arrumar isso.
Aqui está o algoritmo em C++ com este defeito, por favor me ajudem.
Eu preciso fazer isso até quarta-feira que é a minha prova, e esse é o unico que eu não consigo terminar.
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char** argv){
int i = 0, vet[20], cont = 1, j,h = 0,l;
for(i = 0; i < 20; i++){
printf("\n\nDigite o numero para a posicao %d : ",i);
scanf("%d",&vet[i]);
}
for(i = 0; i < 20; i++){
for(j = 0; j <= 1; j++){
for(h = 0; h < 20; h++){
if(i != h){
if(vet[i] == vet[h]){
if(j == 0){
cont++;
}else{
printf(",%d",h);
}
}
}
}
if(j == 0){
if(cont > 2){
printf("\n\nO numero [%d] aparece %d vezes no vetor, nas posicoes : %d",vet[i],cont,i);
}
}else{
cont = 1;
}
}
}
system("pause");
return 0;
}
Pergunta
Zackk
Faça um algoritmo que carregue um vetor de 20 posições com numeros inteiros e que mostre os numeros que aparecem mais de uma vez e quantas vezes cada numero se repete, mostrando um relatório da seguinte forma:
O numero 5 aparece duas vezes no vetor, nas posições 0,12
O numero 4 aparece duas vezes no vetor, nas posições 1,16
O numero 3 aparece três vezes no vetor, nas posições 2,7,15
O numero 18 aparece duas vezes no vetor, nas posições 3,18
Por favor me ajudem, eu consegui fazer, mais ele mostra o numero repetido mais de uma vez, por exemplo : O numero 5 a mensagem aparecia quando o vetor estivesse na posição 0 e mostraria aquela mensagem e de novo quando o vetor estiver na posição 12, então está repetindo sem necessidade, e eu não sei como arrumar isso.
Aqui está o algoritmo em C++ com este defeito, por favor me ajudem.
Eu preciso fazer isso até quarta-feira que é a minha prova, e esse é o unico que eu não consigo terminar.
#include<stdio.h> #include<stdlib.h> int main(int argc, char** argv){ int i = 0, vet[20], cont = 1, j,h = 0,l; for(i = 0; i < 20; i++){ printf("\n\nDigite o numero para a posicao %d : ",i); scanf("%d",&vet[i]); } for(i = 0; i < 20; i++){ for(j = 0; j <= 1; j++){ for(h = 0; h < 20; h++){ if(i != h){ if(vet[i] == vet[h]){ if(j == 0){ cont++; }else{ printf(",%d",h); } } } } if(j == 0){ if(cont > 2){ printf("\n\nO numero [%d] aparece %d vezes no vetor, nas posicoes : %d",vet[i],cont,i); } }else{ cont = 1; } } } system("pause"); return 0; }Desde já obrigado.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.