Scrivere un programma che presa in
input una base n ed una stringa che rappresenta un numero in base n converta la
stringa in numero in base decimale.
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
int convertiBase(int base, char* testo);
int potenza(int n, int m);
int main()
{
int base=0;
char string[255];
scanf("%d",&base);
scanf("%s", string);
if (convertiBase(base, string) != 999)
printf("%d", convertiBase(base, string));
return 0;
}
int convertiBase(int base, char* testo)
{
int L=0;
int ato=0;
int a=0;
int cif=0;
int tot=0;
int count=0;
int set=0;
int bar=0;
int i=1;
while (testo[i]!='')
{
if (testo[i] == '+' || testo[i] == '-')
return 999;
i++;
}
L=strlen(testo);
ato=atoi(testo);
count=L;
while(count > 0)
{
set=count-1;
a = potenza(10,set);
//printf("%dn",a);
cif=(ato/a)%10;
//printf("%dn",cif);
bar = potenza(base,set);
tot += cif*bar;
//printf("%dn",tot);
count--;
}
return tot;
}
int potenza(int x, int y)
{
if (x==0) {
return 0;
}
if (y==0) {
return 1;
}
return (x * potenza(x, y-1));
}
Ricerca appunti sul web
Ricerca personalizzata
sabato 28 febbraio 2009
Sorgenti c : Stringhe e Conversioni
Pubblicato da Baiox alle 00:32
Etichette: Informatica, Programmazione C
Iscriviti a:
Commenti sul post (Atom)
0 commenti:
Posta un commento