Həyatdan nümunə. Yarışın nəticələri cədvəldə yazılıb. Ən yüksək xalı bilmək azdır — kimin qazandığını da bilmək lazımdır. Ona görə xalla birlikdə sətir nömrəsini də yadda saxlayırsınız.
Proqramda sətir nömrəsi — indeksdir. Əvvəlki dərsə bir dəyişən əlavə olunur: yer.
Addımlar
- Birinci elementi «ən böyük» qəbul edin. Onun yeri —
0. - Elementlərə bir-bir baxın.
- Element «ən böyük»dən böyükdürsə, həm onu, həm də onun indeksini yadda saxlayın.
Nümunə
Siyahı: [5, 1, 8, 3].
| indeks | element | ən böyük | yer |
|---|---|---|---|
| başlanğıc | — | 5 | 0 |
| 0 | 5 | 5 | 0 |
| 1 | 1 | 5 | 0 |
| 2 | 8 | 8 | 2 |
| 3 | 3 | 8 | 2 |
Cavab: ən böyük 8, yeri 2.
Kod
a = [5, 1, 8, 3]
en_boyuk = a[0]
yer = 0
for i in range(len(a)):
if a[i] > en_boyuk:
en_boyuk = a[i]
yer = i
print(en_boyuk, yer)
Kod sətir-sətir
| sətir | nə edir |
|---|---|
en_boyuk = a[0] |
Başlanğıcda ən böyük — birinci element. |
yer = 0 |
Onun indeksi — 0. |
for i in range(len(a)) |
i növbə ilə 0, 1, 2, 3 olur. |
if a[i] > en_boyuk |
Bu element indiki ən böyükdən böyükdürmü? |
en_boyuk = a[i] |
Bəli — yeni ən böyük yadda saxlanılır. |
yer = i |
Onun indeksi də yadda saxlanılır. |
Qeyd
- Burada
for x in ayaramır: indeks lazımdır, ona görərange(len(a))yazılır. - Ən böyük bir neçə dəfə varsa, birincinin yeri qalır:
[8, 3, 8]üçün cavab0. - Ən kiçiyin yeri üçün
>işarəsini<ilə əvəz edin.