
Pomoc s programom
Zdravím,
Dostal som za úlohu naprogramovať program, ktorý prevedie čísla z dvojkovej číselnej sústavy do desiatkovej číselnej sústavy pomocou
príkazu while v jazyku C. Program mi nejako nefunguje a neviem sa ďalej pohnúť tak ak by sa našiel niekto kto by pomohol bol by som rád :)
Tu je môj kód:
#include<stdio.h>
int main ()
{
int moc2,n,cifra;
int cislo10=0;
printf ("Zadaj cislo v 2 ciselnej sustave:\n");
scanf ("%d",&n);
moc2=1;
while (n=!0)
{
printf ("%d\n",n);
cifra=n%10;
cislo10=cislo10+moc2*cifra;
n=n/10;
moc2=moc2*2;
}
printf ("Zadane cislo v 10 ciselnej sustave %d",cislo10);
getchar ();
}
Vopred ďakujem za pomoc :)
PS: ak by mi sem niekto vedel napísať kód, ktorý by spravil to isté ale naopak (z 10 sústavy do 2 sústavy) bol by som veľmi rád :)
Jak si dosiel k tomu algoritmu
printf ("%d\n",n);
cifra=n%10;
cislo10=cislo10+moc2*cifra;
n=n/10;
moc2=moc2*2;
??? Je to samozrejme uplne blbo.
Úplně blbě to rozhodně není a v zásadě je to funkční. I když bych to takhle sám nenapsal.
Jaj hej uz to chapem on konvertuje defaulto desiatkovu na desiatkovu


Ano moze to fungovat. (je to ale uplna hovadina robit to takto v praxi - lebo z nizsieuvedenych dovodov max 10ciferne cislo, co je v 2kovej dost malo).
P.S. a nechapem preco neucia skoly deti veci seriozne, ale taketo nezmysly. prevadza mu to tam vsetko scanf a printf, a cely program je nezmysel, ale v skole u ucitela to urcite je ze hura.
Spatřujme vždy v lidech lepší stránky: autor je obeznámen s dělením v různých číselných soustavách (líp než já, protože mě na první pohled ani nenapadlo, že by to mohlo fungovat
).
A úloha převést řetězec znaků představujících zápis v jedné soustavě na řetězec v druhé je pěkné cvičení na algoritmus pro elévy.