---
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