Mit csinál ez a program? Pontosabban a for ciklusa? (C)
Figyelt kérdés
#include <cstdio>
using namespace std;
int main() {
int num = 123456789;
int res = 0;
for(;num;num/=10)
{
res=res*10+(num%10)*7%10;
}
printf("06 %09d", res);
return 0;
}
2017. márc. 3. 13:12
1/5 anonim válasza:
Fogja a num számjegyeit hátulról, megszorozza 7-tel, veszi a kapott szám utolsó számjegyét és hozzáfűzi a res szám végére.
2/5 A kérdező kommentje:
és ha az a feladat, h milyen számot írjunk be a num helyére, hogy a saját telefonszámunkat kapjuk meg, akk megvan matematikailag, h kell
viszont, ha 0-ra végződik a telefonszám, akkor 0-ával kezdődő számsort kellene beírni az 123456789 helyére, ami viszont hibát dob ki :D
2017. márc. 3. 13:38
3/5 anonim válasza:
Véletlenszerűnek tűnő telefonszámokat állít elő, csak mindezt rettentően gányolva.
4/5 A kérdező kommentje:
023456789-el nem fut le és ezt a hiba kódot dobja:
prog.cpp:5:12: error: invalid digit "9" in octal constant
de ahhoz, h 0-val végződjön a telefonszám nem lehet más :D
2017. márc. 3. 13:46
5/5 anonim válasza:
Bocsi, a problémába nem akarok túlságosan belemerülni, csak annyi, hogy a szám elé semmi értelme 0-t rakni, hiszen matematikailag értelmetlen, a C pedig ha 0-t raksz az elejére akkor 8-as számrendszerben értelmezi (ezért hibás a 9). (A program meg nem is tudja megnézni hogy volt e előtte 0, csak egy bináris számot lát miután lefordul)
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!