Kezdőoldal » Számítástechnika » Programozás » Hogyan kéne ennek helyesen...

Hogyan kéne ennek helyesen kinéznie?

Figyelt kérdés

A feladat:

Írj gcd azonosítójú függvényt (gcd: greatest common divisor), mely kiszámolja és visszaadja két pozitív egész szám legnagyobb közös osztóját. A függvény dolgozzon az euklideszi algoritmus szerint.


Írj relative_primes azonosítójú függvényt, mely visszaadja, hogy a paraméterként kapott két pozitív szám relatív prím-e. Két szám akkor relatív prím, ha legnagyobb közös osztójuk 1. A relative_primes függvény ne végezzen aritmetikai műveleteket, hanem a legnagyobb közös osztót a gcd függvény hívásával határozza meg.


Írj főprogramot (main), mely számpárokat olvas a standard inputról, amíg csak tud. A program feladata kiírni a standard outputra a relatív prím párok darabszámát. A főprogram ne végezzen a vizsgálathoz közvetlen aritmetikai műveleteket, hanem a relative_primes függvényt hívja!


Amit én csináltam eddig:

[link]



2021. okt. 16. 11:32
1 2
 1/11 A kérdező kommentje:
Jó, azt mondjuk észrevettem így utólag, hogy a relative_primes függvényt nem úgy csináltam meg, ahogy a feladat kéri, de attól még szerintem kéne működnie a programnak.
2021. okt. 16. 11:41
 2/11 Pelenkásfiú ***** válasza:

gcd()

Ez kicsit messze van az euklideszi algoritmushoz, de ettől eltekintve:

Legalább ne x-ig menj, hanem a kettő közül a kisebbik számig.

Valamint ha "i<x"-et írsz és mondjuk x=4, y=8, akkor 2-t fog írni gcd-re, miközben 4 lenne.

"oszto<i" miért kell? Nem lehet benne i-nél nagyobb ha egyszer i folytonosan növekszik.


relative_primes()

"Két szám akkor relatív prím, ha legnagyobb közös osztójuk 1"

A feladat leírta, hogy mit kell vizsgálnod. Nem kell ciklus.

booleant adj vissza! Vagy 0/1.


main()

Mindig felülírod a "db" értékét a ciklusban.

Itt egy if kellene és ha megfelel a feltételnek, akkor db++;

2021. okt. 16. 12:19
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:
Google-t nem ismered? Van fent több ezer implementációja ezeknek a függvényeknek a neten.
2021. okt. 16. 12:33
Hasznos számodra ez a válasz?
 4/11 Pelenkásfiú ***** válasza:
0%

#3 és abból mégis mit tanul, hogy beadja mások megoldását??


Viszont az Euklideszi algoritmusnak nézz utána!

Nem bonyolult leprogramozni.

[link]

2021. okt. 16. 12:40
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:
Most már valamennyivel jobb a programom? Mert nem igazán megy ez nekem, mármint most eléggé nem értem, hogy mit miért csinálok. Meg szerintem én olyan booleant életemben nem tanultam még. Szóval van még bőven probléma a programomban szerintem: [link]
2021. okt. 16. 13:00
 6/11 Pelenkásfiú ***** válasza:

Nézd át a korábbi feladataidból, hogy egy függvénynek hogy kell átadni a paramétereket, mert az most kifelejtetted!


A boolean-t felejtsd el egyelőre, ha még nem volt róla szó.

Lényeg, hogy adj vissza 1-et, ha "igen", és 0-t, ha "nem".

Tehát a relative_primes függvényedbe elég ennyi:

if (gcd(x, y) == 1) {

return 1;

}

return 0;


Ennek nem kell megmondania, hogy mekkora a legnagyobb közös osztó. Annyi érdekel összesen, hogy 1 vagy nem 1.

Mert ha 1, akkor relatív prímek, egyébként nem.


"if(relative_primes(k, z)==)"


Ilyen nincs :)

Ide vagy azt írd, hogy "relative_primes(k, z) == 1" vagy egyszerűen csak ennyi legyen a zárójelben: "relative_primes(k, z)"

Ha 1-et vissza a függvény, akkor azt igaznak fogja kiértékelni, ha 0-t, akkor azt hamisnak.

2021. okt. 16. 13:09
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:
49%
#4 normális ember ha lát egy megoldást, akkor megpróbálja megérteni, ezáltal tanul belőle.
2021. okt. 16. 13:20
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:
4-es nem beadni kell mások megoldását, hanem megnézni, megérteni, elolvasni az esetleges magyarázatot és aztán az alapján meg tudod csinálni magadnak. És ehhez valóban elég egy Google keresés.
2021. okt. 16. 13:24
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

Valószínűleg csak én vagyok a béna, de én a neten se találtam olyasmit,ami segítene. Most valahogy így van a programom. Így már jobb valamennyivel?

[link]

2021. okt. 16. 14:27
 10/11 Pelenkásfiú ***** válasza:

Pár dolog a codeshare-ről:

- Állítsd be legalább, hogy C nyelv, ne nekünk kelljen mindig!

- Nem kell mindig új link, tudod módosítani

- Egyébként nem pont erre való, mert bárki átírhatja az egészet ha így publikálod a linket


A függvényeidnek továbbra sincs bemenő paramétere.

Nézd át, hogyan kell saját függvényeket írni!


[link]

[link]

2021. okt. 16. 14:43
Hasznos számodra ez a válasz?
1 2

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!