stringgé alakítod, és lekéred a hosszát, nem tudom ez hogy működik C++-ban.
2012. dec. 3. 17:35
Hasznos számodra ez a válasz?
2/13 anonim válasza:
Talán "vedd alapul" a tizes alapú logaritmusának az egészrészét + 1, de ez csak egy tipp :))
2012. dec. 3. 19:11
Hasznos számodra ez a válasz?
3/13 A kérdező kommentje:
Öm köszi x.x csak ezekkel az a gond hogy egyrészt én sem tudom hogy hogyan lehet c++-ban egy int típusú változót string-é alakítani:DD D: , a másik fele pedig az, hogy logaritmust sem tudok számolni benne D: (legalábbis én)
Csak háziba egy Armstrong számos feladatot kaptam és ahhoz kéne mert e nélkül nem nagyon lehet x.x
2012. dec. 3. 19:55
4/13 anonim válasza:
Figyelmedbe ajánlom a math-ot:
#include <math.h>
abban kell, hogy legyen logaritmus.
Ha csak ln van, akkor szorozni kell a 10 logaritmusával.
2012. dec. 3. 20:01
Hasznos számodra ez a válasz?
5/13 totti93 válasza:
Osztod 10-el amíg a szám nem egyenlő 0-val.
#include <stdio.h>
int main() {
int n, nr = 0;
scanf("%d", &n);
while (n != 0) {
n /= 10;
nr++;
}
printf("A szam %d szamjegybol all", nr);
}
2012. dec. 3. 20:10
Hasznos számodra ez a válasz?
6/13 anonim válasza:
5: éljen, tudtad hogy az osztás az egyik legidőigényesebb utasítás? Ha ágyúval akarsz verébre lőni, akkor egyszerűen alakítsd stringgé (itoa) és számold meg a nullával nem egyenlő karaktereket a rámutató pointertől kiindulva...
2012. dec. 3. 20:43
Hasznos számodra ez a válasz?
7/13 _Jessy_ válasza:
6. tudtad, hogy az 'itoa()' függvény is osztással dolgozik? :D Mindamellett egy csomó felesleges adatmozgatás, ezek után pedig számold is meg, hogy milyen hosszú a kapott string. Ágyúval verébre? Vagy bagoly mondja neki? :D
2012. dec. 4. 09:16
Hasznos számodra ez a válasz?
8/13 iostream válasza:
Jessy, tudtad, hogy nincs itoa függvény a szabványos könyvtárban?
Amúgy volt már ez a kérdés prog.hu-n, és az osztogatós módszernél gyorsabb csak csúnya van:
int log10(unsigned n)
{
if (n < 10)
return 1;
if (n < 100)
return 2;
//...
}
Értelemszerűen át lehet alakítani negatív számokat kezelőre is.
2012. dec. 4. 10:05
Hasznos számodra ez a válasz?
9/13 anonim válasza:
Nyilván osztással dolgozik, de egy fokkal követhetőbb kód ha itoa van, mint megirni valami osztogatós s.zart, az iróniát félretéve pedig aki komolyan algoritmusokon gondolkozik ehhez, és nem tizes alapú logaritmust használ, az menjen php-s script kiddienek és hagyja a pic.sába a c++-t
2012. dec. 4. 10:49
Hasznos számodra ez a válasz?
10/13 iostream válasza:
Szerintem te nem érted a kérdést. A tizes alapú logaritmus, meg úgy általában bármiféle logaritmus LEBEGŐPONTOS. Ami azt jelenti, hogy lassú. Akkor kell, ha neked ténylegesen a log10 kell. Ha csak egy egész érték, akkor felesleges pazarlás meghívni.
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!