Seguinte, tenho uma matriz com 20 linhas e 2 colunas, e nelas tenho números de 0 a 256
preciso achar os 4 maiores numeros da matriz, estou usando isso:
for (int i = 0; i < 20; i++) {
if (matriz20[i][2] > maior) {
maior = matriz20[i][2];
}
}
mas ela zera quase todas as posições e não acha todos os maiores… alguém me ajuda?
[quote=JuniorMaia]Seguinte, tenho uma matriz com 20 linhas e 2 colunas, e nelas tenho números de 0 a 256
preciso achar os 4 maiores numeros da matriz, estou usando isso:
for (int i = 0; i < 20; i++) {
if (matriz20[i][2] > maior) {
maior = matriz20[i][2];
}
}
Como você deseja os 4 maiores você precisa de 4 repetições:
Pra isso você precisa de um algorítimo de verificação que ele percorre seu vetor (19+18+17+16) vezes. Exemplo:
Na primeira vez ele verifica o maior dentro os 20. Digamos que ele pegue o primeiro elemento e diga que ele é o maior, depois ele vai verificando e comparando com os 19 restantes. feito isso ele coloca como maior.
Depois disso ele vai para o proximo elemento, lembrando que ele retira do vetor o elemento anterior considerado o maior. O nome desse algoritmo é o selection sorte, em que ele vai ordenar os elementos. Dai você pode ordenar do maior para o menor e pegar os 4 primeiros.BOm caro amigo como sempre faço vídeo pro pessoal aí, então vou fazer um vídeo pra você meu caro e espero que você goste! Ainda hoje estarei enviando para o youtube e disponibilizando o link!
COmo prometido! Bons estudos! Qualquer dúvida estamos aí!
JuniorMaia
Fala meu amigo jacobis, muito bom seu video, agradeço mesmo velho, talvez eu me expressei errado, olha o meu código, ali eu postei apenas a metade para o entendimento de todos, segue meu código completo: