Diberikan program sebagai berikut, berapa nilai array ar setelah pemanggilan mantaps(5)?
var ar : array[1..10] of integer = (1,6,2,3,4,7,2,4,2,1); procedure mantaps(n : integer); var i : integer; iNi : integer; temp : integer; begin if(n > 1) then begin iNi := n; for i := 1 to n-1 do begin if(ar[i] < ar[iNi]) then iNi := i; end; temp := ar[n]; ar[n] := ar[iNi]; ar[iNi] := temp; mantaps(n-1); end; end;
mantaps(n) = mengesort descending dari array ar[] dari index 1 sampai n
nilai ar[] setelah mantaps(5) dipanggil
6 4 3 2 1 7 2 4 2 1
fungsi mantaps akan melakukan sorting array dari indeks ke - 1 sampai indeks ke- n dari data terbesar hingga terkecil secara menurun
keadaan array setelah dijalankan fungsi mantaps(5): 6 4 3 2 1 7 2 4 2 1
Cupu :(
begin if(n > 1) then begin iNi := n; for i := 1 to n-1 do begin if(ar[i] < ar[iNi]) then iNi := i; // Mencari nilai minimum dari 1 sampai jangkauan yang diberikan a.k.a 'n' end; temp := ar[n]; ar[n] := ar[iNi]; //Swap antara array input dan array terkecil ar[iNi] := temp; mantaps(n-1); //Melaksanakan untuk jangkauan yang lebih kecil end;
29. Kalau kita lihat lebih lanjut, ini merupakan prosedur mengurutkan secara Descending (Tertinggi ke terendah), dari jangkauan yang diberikan.
Lebih tepatnya Selection Sort.
mantaps(5) bakal menghasilkan : {6,4,3,2,1,7,2,4,2,1}
CMIIW
Masuk untuk menulis jawaban
1 2 3 4 6 7 2 4 2 1