Kezdőoldal » Számítástechnika » Programozás » C++-ban hogyan tudjuk megoldan...

C++-ban hogyan tudjuk megoldani ezt a két feladatot?

Figyelt kérdés

1. Írjuk ki az első n darab tetszőleges szám felét, kétszeresét és négyzetét!

Az n értékét a felhasználótól kérd be!

Adjuk össze a kétszeres szorzatukat és írassuk ki az összeget!

2. Határozd meg az első n pozitív egész szám szorzatát!


Házinak kaptuk, de ötletem sincs hogyan kéne nekiállni. Keresgéltem a neten, de csak olyat találtam amit nem tanultunk, ezáltal semmit nem értek belőle :///



2022. márc. 21. 21:20
 1/5 anonim ***** válasza:
64%
Az durva.
2022. márc. 21. 21:25
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

n=i

i

write i/2

write i*2

write i*2

(i*2 * i*i) * 2

2022. márc. 21. 21:31
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
50%

Nyilván egy adatbekéréssel indul, amire mondjuk egy scanf, vagy ha modernebbet szeretnél, cin tökéletesen megfelel. Ezt 100%, hogy tanultátok már. Ha ez sem megy, akkor az azt jelenti, hogy magasról tojtál az egészbe, és talán el kellene gondolni a szakváltáson. (Nem tudom, mióta tanuljátok, de ha év eleje óta, akkor azért vérciki, hogy ez nem megy, de ha félév óta... nos, 2 hónap bőven elég kell, hogy legyen az alap I/O, és az alapvető vezérlési szerkezetek megtanulásához.)


Az "az első n darab tetszőleges szám" nekem kicsit zavaros, nem "természetes szám" akart lenni? Ha igen, akkor a következő lépésben egy számlálós ciklust kell indítanod 0-tól n-1-ig. Tudod, pl.: for ( i=0 ; i<n ; i++ )

A ciklusmagban pedig kiíratod i/2-t, i*2-t, és i*i-t.

A 2. feladat sem fogalmaz egyértelműen. (Ezért mondjuk jár a tockos a tancinak, programozásban alapvető lenne a pontos specifikáció, és képtelen egzakt módon leírni, hogy mit kér? Vagy te fogalmaztad át némileg?) Ha itt a kétszeres szorzaton azt érti, hogy szorozzuk össze egymással az összes számot, és ezt még 2-vel, akkor ez egy módosított összegzési tétel. Fogsz egy számlálós ciklust, előtte bevezetsz egy "szorzat" változót, amit a ciklus előtt 1-es értékkel inicializálsz, a ciklusmagban pedig minden lefutáskor megszorzod a ciklus aktuális értékével. Pl.: szorzat = szorzat * i; (A változónevet természetesen angolosíthatod, ha neked úgy jobban tetszik. Én a magyar elnevezéseket részesítem előnyben.)

A végén pedig megszorzod ezt 2-vel.

A 2. feladat ettól annyiban különbözik, hogy a ciklus nem 0-tól n+1-ig, hanem 1-től n-ig fog menni.

Az összegzés sem nehéz. Fogsz egy összeg-változót, 0-val inicializálod, és a ciklusmagban minden lefutáskor hozzáadod a ciklusváltozó aktuális értékét. (s = s + i;)


Ha tényleg nem elírás, és "tetszőleges" számról ír, akkor gyanítom, az a felhasználó által megadott számokat jelenti. Ilyenkor annyiban módosul a program, hogy - szintén egy cikluson belül - egy tömbbe beolvasod a számokat. A továbbiakban pedig ezzel dolgozol. Hadd ne kelljen ezt is szájbarágós módon részleteznem.


"ötletem sincs hogyan kéne nekiállni"

Ez a legnagyobb baj. Ilyenkor gondold végig, lehetőleg elemi lépésenként, hogy fejben az adott problémát hogyan oldanád meg! Általában a számítógépes megvalósítása is nagyon hasonlít ahhoz. ;-) Igazából ez a programozás lényege: rájönni, hogy egy adott feladatot hogyan kell megoldani. Ez persze néha tud nehéz lenni, de ezen a szinten - nem leszólni akarom, hisz minden kezdet nehéz - azért ha mélyebben belegondol az ember, akkor nem olyan lehetetlen feladat.

Ha a feladat meg hosszabb, akkor bontsd kisebb részekre!


"Keresgéltem a neten"

Ez már jó jel, egy informatikus számára kulcsfontosságú, hogy képes legyen információkat megszerezni.

Bár kezdp feladatoknál én csak akkor javaslom az internetet, ha már magadtól tényleg minden próbálkozás kudarcot vallott. Akkor fejlődik az ember, ha ő maga képes feladatokkal megbírkózni.


"csak olyat találtam amit nem tanultunk"

Én úgy tudom, nem tilos képezni magad, és az így szerzett tudást felhasználni. ;-)


"ezáltal semmit nem értek belőle"

Itt nincs feltétlenül ok-okozati viszony. Ha jó forrást sikerül találnod, azt nem nehéz megérteni.


Pár segédanyag:

https://www.youtube.com/watch?v=vLnPwxZdW4Y

https://www.youtube.com/watch?v=GQp1zzTwrIg (Ezt kimondottan javaslom! Sok, és érthető magyarázatot fűz a kódjaihoz.)

https://www.youtube.com/watch?v=McojvctVsUs

https://www.youtube.com/watch?v=_bYFu9mBnr4&list=PL_c9BZzLwB..

https://www.youtube.com/watch?v=Rub-JsjMhWY

Remélem, a szakmai angol alapszinten már megy.

2022. márc. 22. 01:34
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
56%

Pusztán jó szándékkal: aki lepontozta a válaszomat, kérem, írja már meg, hogy mi az, ami hibás benne! Csak hogy mindannyian tanulhassunk belőle. ;-)

(#3)

2022. márc. 22. 21:45
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
#4 Kaptál tőlem is egy megerősítő lepontozást, csak mert ezt kiírtad (4/4).
2022. márc. 23. 15:47
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!