eMatematikas Prisijunk Forumas Egzaminų užduotys ONLINE testai

Programavimo uždavinys (void funkcija)


Na tai užduok konkrečius klausimus, nes aš nežinau, kas tau neaišku.

+ gal gali paaiškinti kokią funkciją atlieka  ženklas &  šioje vietoje float& ,nes tikrinau be jo atsakymas nesigauna.

Šis ženklas įgalina kintamojo reikšmės keliavimą ne tik iš pagrindinės main funkcijos į mūsų aprašytą šiuo atveju didesnis, bet ir atgal, t.y. toje funkcijoje nustatytos reikšmės grąžinimą pagrindinei funkcijai.

Ačiū už paaiškinimą, grįžtant prie void funkcijos kodėl netinka didesniam skaičiui rasti mano sprendimas:

if (a>max) max = a;
if (b>a) max = b;

,o Jūs naudojote

if (b>a) max = b;

Gal galite paaiškinti kodėl šis sprendimas yra priimtinesnis?

pakeista prieš 5 m

Nes tu negali lyginti a su bet kokia reikšme. Tu pirmiausiai turi priskirti šią maksimalią reikšmę kaip lygią kažkuriam iš lyginamų skaičių, o tada jau antrąjį skaičių lyginti su likusiąja.
Tarkim, jei turėtum skaičius a=-2, b=-3, o tu nurodei max=0, tai tikrinant pirmąjį if tau liks max=0, o antrąjį taip pat max=0.

pakeista prieš 5 m

Ačiū!

Aplamai čia yra daug būdų užrašyti tą lyginimą, galėjo būti ir taip:void didesnis (float a, float b, float &max)
{
    if (b>a) max = b;
    else max=a;
}
Šitas gal net priimtinesnis.

Aš tikiuosi tavęs taip pat nepainioja void funkcijų parametrų pavadinimai. Jie gali visiškai skirtis nuo tų, kurie yra naudojami main funkcijoje. Svarbu kokių kintamųjų reikšmes tu perduodi main funkcijoje.
Galėjau rašyti ir taip:
void didesnis (float pirmas, float antras, float &didz)
{
    if (antras>pirmas) didz = antras;
    else didz=pirmas;
}

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »