Untitled
unknown
golang
a year ago
1.2 kB
8
Indexable
const nMax int = 100
type dataMobil [nMax]string
func isiData(arrMobil *dataMobil) {
/* I.S. Terdefinisi nilai array dataMobil yang masih kosong
F.S. arrMobil berisi data yang diinputkan */
var input string
i := 0
for {
fmt.Scan(&input)
if input == "-1" {
break
} else if input == "merah" || input == "hitam" || input == "abu" {
arrMobil[i] = input
i++
}
}
}
// Fungsi untuk menghitung warna mobil terbanyak
func hitung(arrMobil dataMobil) string {
/* Mengembalikan string warna mobil tertentu yang paling banyak melintasi jalan */
var nMerah, nHitam, nAbu int
var terbanyak string
for _, warna := range arrMobil {
if warna == "merah" {
nMerah++
} else if warna == "hitam" {
nHitam++
} else if warna == "abu" {
nAbu++
}
}
if nMerah > nHitam && nMerah > nAbu {
terbanyak = "merah"
} else if nHitam > nMerah && nHitam > nAbu {
terbanyak = "hitam"
} else if nAbu > nMerah && nAbu > nHitam {
terbanyak = "abu"
} else {
if nMerah == nHitam && nMerah > nAbu {
terbanyak = "merah"
} else if nHitam == nAbu && nHitam > nMerah {
terbanyak = "hitam"
} else {
terbanyak = "abu"
}
}
return terbanyak
}Editor is loading...
Leave a Comment