--- tags : mht --- # Hint Exercise 06 Array 1 Dimensi ## A - Reversing Numbers ``` for i = 1..N input a[i] for i = N..1 output a[i] tidak boleh ada spasi setelah bilangan terakhir (lihat contoh program) ``` Kode program : https://ideone.com/6haMiE ## B - Increase by 2 ``` for i = 1..N if a[i] >= 0 a[i] diupdate menjadi a[i]+2 ``` ## C - Those that are divisible by 6 ``` sum = 0 total = 0 for i = 1..N if a[i] > 0 dan a[i] modulo 6 = 0 sum ditambah a[i] total ditambah 1 ``` ## D - Shift the elements to the right ``` output a[n] for i = 1..n-1 output a[i] ``` ## E - Larger than neighbors ``` for i = 2..n-1 if a[i] > a[i-1] dan a[i] > a[i]+1 total ditambah 1 ``` ## F - Max Misal m adalah variabel untuk mencatat nilai maksimal (max tidak bisa dipakai sebagai nama variabel) ``` m = 0 for i = 1..n if a[i] > m m diupdate menjadi a[i] ``` ## G - The last the largest Cari posisi bilangan terbesar paling kanan Misal idx adalah variabel untuk mencatat posisi bilangan terbesar paling kanan Gunakan >= agar jika sama-sama maksimal dan lebih kanan, idx diupdate ``` m = 0 idx = 0 for i = 1..n if a[i] >= m m diupdate menjadi a[i] idx diupdate menjadi i a[idx] = a[n] a[n] = m ``` ## J - Contr-operation Ini soal terakhir, tapi sebetulnya lebih mudah dari H dan I Untuk cari bilangan maksimum set variabel untuk mencatatnya menjadi awalnya sekecil mungkin Untuk cari bilangan minimum set variabel untuk mencatatnya menjadi awalnya sebesar mungkin (max dan min tidak bisa dipakai sebagai nama variabel) ``` maks = 0 mini = 101 for i = 1..n if a[i] > maks maks diupdate menjadi a[i] if a[i] < mini mini diupdate menjadi a[i] for i = 1..n if a[i] == mini a[i] diupdate menjadi maks ``` H - Initial values of elements Untuk mencari bilangan minium Cari bilangan minimum, lalu bagi 2 Kurangi setiap bilangan dengan hasil tadi ## I - Sum without maximum Cari bilangan maksimum Tambahkan semua bilangan yg tidak sama dengan maksimum