Zdravím.
Rád bych zde poprosil o pomoc při řešení úlohy. Nevím jak docílit toho, aby mne program vypsal kolikátou v pořadí určitou (nejnižší) hodnotu našel.
Mám následující zadání:
Uživatel bude zadávat postupně teploty s přesností na desetinu stupně. Zadávání ukončí zadáním teploty přesahující 100° (tato teplota je ale také součástí dat!). Program zobrazí zadané teploty, minimální teplotu a kolikátá v pořadí tato teplota byla. A také průměr teplot.
Až na již zmíněný problém se zdá, že program funguje správně. Za případné nejasnosti, zmatky či chyby v kódu se předem omlouvám. Jsem začátečník. Úloha níže se má řešit pomocí. Do while s podmínkou na konci.
Jediné co se mi podařilo zjistit je, že pokud teploty zadávám postupně od nejvyšší po nejnižší tak program správně vypíše kolikátou v pořadí ji našel. To samé platí pokud postupně zadám nejnižší teplotu jako první či druhou v pořadí. Ovšem pokud vypíšu náhodně například 10 různých teplot, tak program není schopný správně určit v kolikátém pořadí nejnižší teplotu našel.
Za případné rady Vám předem děkuji.
Sub main()
Dim teploty As Single, minimalni_teplota As Single, teplota_sum As Single, prumer As Single
Dim poradi As Byte
Dim teploty_soucet as integer
Dim zahlavi As String
zahlavi = "#" + Chr(9) + "Teplota" + " (°)"
teploty_soucet = 0
minimalni_teplota = 100
teplota_sum = 0
Do
teploty = InputBox("Zadej teplotu vody (°)")
teploty_soucet = teploty_soucet + teploty
teplota_sum = teplota_sum + 1
zahlavi = zahlavi + Chr(10) + Str(teplota_sum) + Chr(9) + Str(teploty)
If teploty < minimalni_teplota Then
minimalni_teplota = teploty
poradi = poradi + 1
End If
Loop While teploty <= 100
prumer = teploty_soucet / teplota_sum
MsgBox zahlavi + Chr(10) + Chr(10) + "Nejnizsi teplota vody je" + Str(minimalni_teplota) + "°" + Chr(10) + "Minimalni teplota je" + Str(poradi) + " v poradi." + Chr(10) + "Prumerna teplota vody je:" + Str(prumer) + "°"
End Sub