Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C++ - chyba scitani v cyklu

Ahoj! Tak se zase hlásím s novým problémem :D Píšu poměrně dlouhý program, potřebuji, abych převedl číslo s lomítkem na číslo bez něj. Chtěl jsem to udělat jednoduše stylem - poslední číslo * 10 na 0 + předposlední číslo * 10 na 1 atd. Problémje v tom, že v posledním kroku cyklu se mi nedopíše poslední číslo, ale hodnota proměnné součet se změní na nějaké záporné číslo. Netušíte co s tím? Moc díky ;-)

double j = 0; // pocitadlo pro mocneni 10-ky
for(int i = 10; i >= 0; --i){
if(i == 6){
continue; // vyjimka pro lomitko
}else if(cislo[i] < 48 || cislo[i] > 57){
cout << "Retezec neni rodnym cislem.2" << endl;
return 0; //osetreni, at jsou vstup jen cisla //konec 1. pozadavku
}
soucet += (cislo[i]-48)*pow(10, j);
++j;
}

Předmět Autor Datum
Tušíme. Víš jaké největší číslo můžeš uložit do proměnné typu int? A mimochodem, proč má počítadlo j…
Wikan 06.11.2012 19:29
Wikan
Díky, už to mám, ten int prostě nestačil, překvapilo mě, že to na mě nebaflo error :D Double mám pro…
Katsushiro 06.11.2012 19:41
Katsushiro
prekladac nemoze vediet ci na tvoje vypocty staci int alebo nie, tak ti nemoze ani blafnut error. Vs… poslední
MM.. 06.11.2012 19:56
MM..
asi by si si mal pred akymkolvek programovanim najprv nastudovat jake obmedzenia ma jaky datovy typ,…
MM.. 06.11.2012 19:33
MM..
Díky :D String načítám na vstupu, potom s hodnotami pracuju, jak mě napadne :D A už to jede, stačil…
Katsushiro 06.11.2012 19:38
Katsushiro
Protože v tohle případě by stačilo v každém průchodu vynásobit koeficient deseti a ne neustále počít…
Wikan 06.11.2012 19:40
Wikan
lebo za prve pow rata plavajucou ciarkou (double) a teda u cisel ktore sa nevojdu do 52bit nastane c…
MM.. 06.11.2012 19:54
MM..

asi by si si mal pred akymkolvek programovanim najprv nastudovat jake obmedzenia ma jaky datovy typ, hlavne teda 32bitovy integer.

To co chces riesit sa zvycajne robi v stringu (da sa to na jeden riadok) a necpe sa to do ciselneho typu, a hlavne sa na to nepouziva fcia pow ktoru pouziva len zaciatocnik alebo debil (predpokladam ze ty si zaciatocnik :D)

Zpět do poradny Odpovědět na původní otázku Nahoru