Hogy csinalom meg c++ ban hogy azt a programot hogy "Az n-nel kisebb paratlan szamokat szorozza ossze, az n az a felhasznalo altal megadott ertek. "?
igazabbol nemtudom hogy kell a while ciklusnal hogy csinaljam
#include <iostream>
using namespace std;
int main()
{
int n,i
cout<<"Adj meg egy szamot!";
cin>>n;
while(i < n)
{
}
return 0;
}
Csinálhatod while-al, de egy for ciklus szerencsésebb lenne, mert elég jól behatárolt, hogy a ciklusmagot hányszor kell futtatni.
Mi kell a ciklusmagba? Kell ugye egy vizsgálat, ami eldönti, hogy az épp megnézett szám az páros-e v. páratlan.
Ha megvan, akkor már csak egy változó kell "valahova", amiben a szorzatot tárolhatod.
Na ez már félsiker. Egy kis segítség a továbbiakban:
* Honnan indul az ciklusod? Az oké, hogy n-nél megáll, de mi a kezdő érték (az i)?
* Ha már végig tudsz menni a számokon n-ig, hogyan döntöd el melyik a páratlan? Mi a jellegzetessége a páratlan számoknak ha 2-vel osztjuk őket?
* Hogyan tudsz sok számot folytonosan összeszorozni? Hogyan mentenéd el az részeredményeket?
Meg azt se kell kulon tesztelni, hogy paratlan-e a szam, vagy sem. Eleg annyi, hogy egy paratlan szamtol indulsz, es mindig 2-t adsz hozza. :)
Bar ez igy eleg barbar dolog, nem biztos, hogy a tanar elfogadja.
Megyek aludni :)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int n, k = 1;
cout << "Adj meg egy szamot: ";
cin >> n;
if (n % 2 == 0 ) n -= 1;
for (int i = n; i > 0; i -= 2) k *= i;
cout << k << endl;
system("PAUSE");
return 0;
}
Jó éjszakát :)
Én csak annyit fűznék hozzá hogy a for ciklus feltétele lehetne 'i > 2', hiszen felesleges a végén 1-el szorozni.
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!