Eli tarvisin opastusta, miten tehdään Do-While rakenteella kolmen luvun yhteenlasku sekä keskiarvo. En ollenkaan käsitä sitä, että mikä se while ehto voisi olla. Toivottavasti joku osaisi auttaa.
Miksi ihmeessä se pitäisi tehdä tuollaisella rakenteella? Kolmeen toistokertaan sopii paremmin for-silmukka. Tietenkin voit toteuttaa samanlaisen silmukan myös whilellä: alusta kierroslaskuri nollaksi, korota sitä joka kierroksen alussa ja toista niin kauan, kuin laskuri on kolmea pienempi.
Kyseessä on koulutehtävä, joten sen takia pitäisi olla käytössä Do-While-rakenne :)
no for on periaatteessa do, eli ihan samahan se on.
for(int a=0;a<3;a++) { jotain(); } //on sama kuin int a=0; while (a<3) { jotain(); a++; } //tai.. int a=0; do { jotain(); a++ } while (a<3);
Siis pelkällä do:lla pärjäisi mainiosti. For on lähinnä luettavuuden parantamiseksi. (Sama toki toisinkin päin)
No mitenkäs se yhteenlasku sitten menee ku mulla on muuttuja 'tulos' mutta miten saan laskettua yhteen joka kierroksella annetut luvut?
Pidät kirjaa summasta ja lisäät siihen joka kierroksella syötetyn uuden luvun. Do-while ratkaisussa on pidettävä kirjaa myös syötettyjen lukujen määrästä.
int luvut = 0; // Syötettyjen lukujen määrä int summa = 0; // Syötettyjen lukujen summa do { int uusiLuku = syote(); // Toteuta syötteen lukeminen miten se nyt halutaan toteuttaa summa += uusiLuku; // sama kuin summa = summa + uusiLuku luvut++; // Syötettiin uusi luku, joten lukulaskuria kasvatetaan yhdellä } while ( luvut <= 2 ); // Silmukka päättyy kun lukuja on syötetty kolme kappaletta
kaviaari kirjoitti:
Pidät kirjaa summasta ja lisäät siihen joka kierroksella syötetyn uuden luvun. Do-while ratkaisussa on pidettävä kirjaa myös syötettyjen lukujen määrästä.
// Silmukka päättyy kun lukuja on syötetty kolme kappaletta
Väärin lukuja kysytään 4 kappaletta.
Teuro kirjoitti:
kaviaari kirjoitti:
Pidät kirjaa summasta ja lisäät siihen joka kierroksella syötetyn uuden luvun. Do-while ratkaisussa on pidettävä kirjaa myös syötettyjen lukujen määrästä.
// Silmukka päättyy kun lukuja on syötetty kolme kappalettaVäärin lukuja kysytään 4 kappaletta.
Hopsan, otin suoraan copypastella Grezin pätkästä sen enempää miettimättä. Korjataanpas :)
Kiitokset nopeista vastauksista, nyt toimii kuten pitääkin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.