Je suis en train de faire un simple top quinze avec ce code:Copiez quinze premiers éléments d'un tableau à un autre
var top = Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
val numbers = Array(4,5,8,1,33,23,45,6,11,10,87,46,43,66,55,98,78,71,19,20)
def getTop() : Unit = {
for (i <- 0 to (numbers.length - 1)) {
set(0, numbers(i), top)
}
top.map(x => println(x))
}
def set(index: Int, number: Int, top: Array[Int]) : Unit = {
if (index <= top.length-1) {
if(top(index) < number) {
top(index) = number
}
else {
set(index+1, number, top)
}
}
}
La fonction doit copier les quinze premiers éléments qui se trouvent dans le tableau numbers
à tableau top
, mais actuellement je ne reçois que:
98,78,71,20,0,0,0,0,0,0,0,0,0,0,0
Qu'est-ce que je fais mal?
pourquoi n » t vous écrivez juste 'val top = numbers.sorted.take (15)'? –
@ om-nom-nom: en fait 'numbers.sorted.reverse.take (15)', mais sinon vous avez raison. –
Je voulais éviter d'utiliser au maximum les fonctions de la bibliothèque pour comprendre l'utilisation des fonctions et des cycles récursifs. –