Hogy lehetne ezt a feladatot a legegyszerűbben megoldani C++ban?
Olvassunk be természetes számokat! A számok beolvasása a 0 szám beviteléig tart. Számoljuk meg és írjuk ki, hány olyan számot találtunk, amelyeknek 7-tel való osztási maradéka 5, illetve hány olyant, amelyeknek 13-mal való osztási maradéka 7!
már volt rá néhány próbálkozásom de egyik se volt jó, mert az az (egyik) nagy hibám, hogy mindent túlbonyolítok és a végére már elvesztem a fonalat...
Kéri a feladat, hogy tárold el a számokat? Nem.
Ami nekem sokat segít: BABY STEPS! Komolyan!
Bontsuk fel, mit kér a feladat:
Amíg 0-t nem ad valaki olvass be egy számot.
Ellenőrizd le, hogy természetes számról van-e szó.
Legyen néhány számlálód a következőknek:
* m7_5: azon számok számossága, ahol 7-el való osztás maradéka 5
* m13_7: ...
Mi kell ehhez?
Egy hátultesztelős ciklus, ami akkor szakad meg, amikor a bemenet nem megfelelő, két számláló, egy regexp, egy bemenet olvasás, legvégén kiiratás.
$> map {print "$_\n" if (($_ % 13 == 7) || ($_ % 7 == 5))} (0 .. 50);
5
7
12
19
20
26
33
40
46
47
ez jó?
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"");//utf-8
int szam, i=0;
int maradekOt = 0, maradekHet = 0;
while(szam != 0)
{
i++;
cout << "szám = "; cin >>szam;
if(szam % 7 == 5)
{
maradekOt++;
}
if(szam % 13 == 7)
{
maradekHet++;
}
}
cout <<endl;
cout <<"maradék: 5 (darab):" <<maradekOt <<endl <<endl;
cout <<"maradék: 7 (darab):" <<maradekHet <<endl <<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!