#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (void){
int n, br=0, br1=0, zn, zn1, b, zn2=1;
printf("unesite neki broj b koji je veci od nule, a manji ili jednak broju 10: \n");
scanf ("%d", &b);
while (b<=0 || b>10){
printf ("Niste ucitali dobru bazu, ucitajte je ponovno: \n"),
scanf ("%d", &b);
}
printf ("A sada unesite neki broj u dekadskom zapisu: \n");
scanf ("%d", &n);
if (n<0) n=-n;
while (n!=0){
zn=n%b
br=br*10+zn;
n=n/b;
}
while (br!=0){
zn1=br%10;
br1=br1*10+zn1;
br/=10;
}
printf ("%d \n", br1);
system ("pause");
return 0;
}
Zadatak treba pretvarati neki roj iz baze 10 u bazu b, npr. 38 treba pretvoriti u 1102 u bazi 3. Ali moj kod ne valja kada pokusam ispisati br 5 u bazi 5 ili br 10 u bazi 5, ili br 12 u bazi 6, itd. (sve one brojeve koji u bazi b zavrsavaju s 0), nego ispise samo prvu znamenku: npr za 100 ce ispisati (4)_5, a treba ispisati (400)_5. Moze pomoc pri rijesavanju koda...
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (void){
int n, br=0, br1=0, zn, zn1, b, zn2=1;
printf("unesite neki broj b koji je veci od nule, a manji ili jednak broju 10: \n");
scanf ("%d", &b);
while (b<=0 || b>10){
printf ("Niste ucitali dobru bazu, ucitajte je ponovno: \n"),
scanf ("%d", &b);
}
printf ("A sada unesite neki broj u dekadskom zapisu: \n");
scanf ("%d", &n);
if (n<0) n=-n;
while (n!=0){
zn=n%b
br=br*10+zn;
n=n/b;
}
while (br!=0){
zn1=br%10;
br1=br1*10+zn1;
br/=10;
}
printf ("%d \n", br1);
system ("pause");
return 0;
}
Zadatak treba pretvarati neki roj iz baze 10 u bazu b, npr. 38 treba pretvoriti u 1102 u bazi 3. Ali moj kod ne valja kada pokusam ispisati br 5 u bazi 5 ili br 10 u bazi 5, ili br 12 u bazi 6, itd. (sve one brojeve koji u bazi b zavrsavaju s 0), nego ispise samo prvu znamenku: npr za 100 ce ispisati (4)_5, a treba ispisati (400)_5. Moze pomoc pri rijesavanju koda...
|