Kezdőoldal » Számítástechnika » Programozás » C programozásnál az megoldható...

C programozásnál az megoldható, hogy addig szorozzon egy számot 0,2-vel amíg el nem éri az x számot és aztán kiírja, hogy hányszor kellett neki beszorozni ahhoz, hogy elérje az x számot? Do while ciklussal próbálkozok de valahogy nem akarja kiírni.

Figyelt kérdés

Így állok eddig nagyjából. (Ez a programomnak a lényege).

ora =0.2,i=0;

Do {

ora=(ora*x)

i++;

}while (ora==x);

printf ("%d",ora);



2016. okt. 11. 20:39
1 2
 11/20 anonim válasza:

Annak a programnak ami azt csinálja amit leírtál, valahogy így kéne kinézni...



int iAlapSzam = // ?? - először legyenek meg valahonnan azok a számok amikkel dolgozni akarsz

float fMaxSzam = // [...]



int i = 1;


while((float)(iAlapSzam * (i * 0.2f)) < fMaxSzam) i++;


printf("%d", i);

2016. okt. 11. 21:58
Hasznos számodra ez a válasz?
 12/20 Hominida ***** válasza:

A kérdezőnek: most nem foglalkozom a közben adott válaszokkal, csak a kérdésben írt megoldásodról írok.


Kell lennie egy kezdőszámnak, a 0.2-nek, egy x-nek és egy 'i' számlálónak. Te az 'ora' értékét állítod be 0.2-re, tehát a kezdőszámnak is ezt vetted. Utána ciklikusan szorzod x-szel, és lényegében azt várod, hogy a 0.2*x egyenló legyen x-szel. Ez csak x=0 esetben fog teljesülni.


Külön elvi hiba, hogy te egy számmal való EGYENLŐSÉGET szabsz meg kilépési feltételként. Biztos, hogy a szám a foyamatos csökkenés közben egyszer pont eltalálja az x-et? Inkább azt kellene nézned, hogy a szám kisebb vagy egyenlő lett-e x-szel.


input k

input x

i=0

Ciklus amíg k>x

k=k*0.2

i=i+1

Ciklus vége

output i


Ha x megadott értéke nagyobb a kezdőszám megadott értékénél, akkor az eredmény 0 lesz, mert az "elérje", mint feltétel azonnal teljesült.

2016. okt. 11. 22:11
Hasznos számodra ez a válasz?
 13/20 A kérdező kommentje:
Kezdem érteni köszi :D De ha van még vmilyen meglátás szívesen várom.
2016. okt. 11. 22:19
 14/20 anonim ***** válasza:
100%

Egy kis matek után:


n = ahányszor szorozni kell

a = amennyivel szorozni kell

b = amit szorozni kell

x = amennyinek lennie kell


n = lg(x/b)/lg(a)


Példák:

Hányszor kell 0,2-vel szorozni az 500-at, hogy 0,8 legyen?


n az ismeretlen

a = 0,2

b = 500

x = 0,8


Behelyetesítve:

n = lg(0,8/500)/lg(0,2)

n = 4, tehát 4-szer kell szorozni az 500-at 0,2-vel, hogy 0,8-at kapj.


Ha n nem lesz egész szám azzal igény szerint azt csinálsz amire szükséged van.

2016. okt. 12. 03:05
Hasznos számodra ez a válasz?
 15/20 anonim ***** válasza:

A gép azt csinálja, amit leírtál. A ciklus azért nem fut le többször, mert az ora véletlenül sem egyezik az x-szel.

A lebegőpontos számoknál nem lehet arra számítani, hogy pontosan egyenlők lesznek. Vagy használj körülbelüli összehasonlítást (sajnos tudtommal ezt le kell programoznod), vagy használj egészeket!

2016. okt. 12. 13:03
Hasznos számodra ez a válasz?
 16/20 anonim ***** válasza:

"Egy kis matek után: "

A legjobb válasz az egész thread-ben! Sokan feleslegesnek tartják az egyetemi matekot, és nyilván ők lennének azok, akik írnának egy olyan ciklust, ami mondjuk 1 milliószor lefut ahelyett, hogy egy kis matekkel behelyettesítenének egy képletbe. Szuper volt a megoldás, és a legtöbb itt kommentelő tanulhat belőle!

2016. okt. 12. 13:11
Hasznos számodra ez a válasz?
 17/20 Hominida ***** válasza:
A logaritmusos megközelítés nekem is eszembe jutott, de a kérdezőnek szerintem nem felel meg. Ez eléggé iskolaszerű feladatnak látszik, akkor pedig azt kell csinálni, amit a feladat mond, vagyis ciklikus szorzást. A rövid út "jutalompontért" bemutatható.
2016. okt. 12. 18:26
Hasznos számodra ez a válasz?
 18/20 anonim ***** válasza:

#16


Azért ez még nagyon nem egyetemi matek.:D

2016. okt. 12. 19:36
Hasznos számodra ez a válasz?
 19/20 Hominida ***** válasza:
Ma már az.
2016. okt. 12. 21:16
Hasznos számodra ez a válasz?
 20/20 anonim ***** válasza:

Sok felesleges lexikális tudást kérnek számon az iskolában amit dolgozat után már el is felejt az ember, így nem marad elég idő olyan tárgyak tanulására ahol fontos a megértés.


Ha nem történész (más ehhez hasonló tantárgyat is írhatnék) lesz valaki, még a seggét se tudja kitörölni a bemagolt évszámok és uralkodók neveivel. Amíg számítógépet/okostelefont minden nap használ az ember, illetve sokan játszanak böngészős építgetős játékkal, a matek ott is jól jön a termelés kimaximalizására stb.

2016. okt. 13. 17:11
Hasznos számodra ez a válasz?
1 2

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

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!