Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet ciklussal egy...

2105as kérdése:

Hogyan lehet ciklussal egy tetszőleges számot tetszőleges hatványra emelni? (c nyelvben) ;

Figyelt kérdés

Ciklus nélkül

pl:

int a=5;

a=pow(a,2);

printf("%i",a);


de így "lecsípi" a végét így az eredmény 24, ami helytelen.


Ezért akkarom ciklussal, vagy esetleg ha egész számok esetén lenne, olyan függvény ami hatványoz helyesen az is jó lenne.


2016. okt. 15. 13:35
1 2
 1/12 anonim ***** válasza:
Az eredményt kerekítsd és úgy tárold int-ben, mert különben levágja a tört részt.
2016. okt. 15. 13:47
Hasznos számodra ez a válasz?
 2/12 coopper ***** válasza:

Szia.


Ciklussal pediglen így valahogy :

for (i = 1; i < 2; i++) {

_ _a*=a;

}


Sok sikert.

üdv.

2016. okt. 15. 14:53
Hasznos számodra ez a válasz?
 3/12 coopper ***** válasza:

Bocsi, a fenti kód nem jó, talán ez jó lesz :


int e=1;

for (i = 0; i < 3; i++) {

_ _e=e*a;

}

printf("%i",e);



Sok sikert.

üdv.

2016. okt. 15. 15:04
Hasznos számodra ez a válasz?
 4/12 anonim ***** válasza:

Kissé zarart érzek az Erőben kedves Kérdező...

Írod:

"int a=5;

a=pow(a,2); "

és

"de így "lecsípi" a végét így az eredmény 24, ami helytelen. "


5 a négyzeten (5 ^ 2 vagyis 5 * 5) az 25 - semmiképpen nem kaphatsz 24-es eredményt.

[link]

2016. okt. 15. 15:24
Hasznos számodra ez a válasz?
 5/12 A kérdező kommentje:
Utolsó válaszolónak: ha én lehutattom akkor 24-et kapok eredményül!
2016. okt. 15. 15:39
 6/12 anonim ***** válasza:
Azért, mert a pow az double-t ad vissza és valószínűleg 24.9999999999 lehet az eredmény, aminek a végét levágja az int minatt.
2016. okt. 15. 15:49
Hasznos számodra ez a válasz?
 7/12 anonim ***** válasza:

Ha lecsípi, hát kerekítsd:

a=round(pow(a,2));

2016. okt. 15. 17:50
Hasznos számodra ez a válasz?
 8/12 anonim ***** válasza:
Ne akarj olyat megírni (szarul), ami már sokkal okosabban, gyorsabban és hibamentesen megvan írva.
2016. okt. 15. 18:47
Hasznos számodra ez a válasz?
 9/12 anonim ***** válasza:

"Azért, mert a pow az double-t ad vissza"

Oké, ez rendben,

[link]


"és valószínűleg 24.999999 lehet az eredmény, aminek a végét levágja az int minatt"

viszont mi indukálja a hibás eredményt?


Kérdező, milyen fordítót használsz, milyen környezetben?

GCC 4.8.4, clang 3.4 fordítónál 64 bites xubuntu 14.04 operációs rendszernél, Intel i5 4570 proceszornál nekem nem fordult elő - bár elképzelhető bizonyos esetekben "kerekítési hiba": itt is ilyesmiről értekeznek: [link]

2016. okt. 15. 19:43
Hasznos számodra ez a válasz?
 10/12 anonim ***** válasza:
Mindig van kerekítési hiba.
2016. okt. 15. 19:47
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!