Pomoc s kódem v VSA - Do / While – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc s kódem v VSA - Do / While – Visual Basic – Fórum – Programujte.comPomoc s kódem v VSA - Do / While – Visual Basic – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Johnyx0
Duch
16. 4. 2019   #1
-
0
-

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
Nahlásit jako SPAM
IP: 89.190.91.–
Řešení
gna
~ Anonymní uživatel
1849 příspěvků
16. 4. 2019   #2
-
0
-
Vyřešeno Nejlepší odpověď

Počitadlo pořadí nebude v podmínce.

poradi = poradi + 1
If teploty < minimalni_teplota Then
    minimalni_teplota = teploty
    minimalni_poradi = poradi
End If
Nahlásit jako SPAM
IP: 213.211.51.–
Johnyx0
Duch
17. 4. 2019   #3
-
0
-

#2 gna
Skvělé. Už to funguje. Mockrát děkuji.   

Nahlásit jako SPAM
IP: 89.190.91.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

Podobná vlákna

Pomoc s kodem — založil Shockwave

Pomoc s kodem — založil ask@t

Exception, pomoc s kodem — založil shockwave

Pomoc s kodem, subquery, ALL — založil shockwave

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý