26-04-2002, 17:05
|
#7
|
Senior Member
Iscritto dal: Jan 2000
Cittā: Milano
Messaggi: 1034
|
Quote:
Originariamente inviato da MickMacello
[b]ESERCIZIO 3-5
Scrivete una funzione itob(n,a,b) che converte l' intero n nella corrispondente sequenza di caratteri in base b e mette in s la stringa risultante.
void itob(int n,char s[], int b){
int i,sign;
char alfabeto[36];
for(i=0;i<=9;i++)
alfabeto[i]=i+'0';
for(i=10;i<=36;i++)
alfabeto[i]=i+'A'-10;
sign= (n>=0) ? 1 : -1;
i=0;
do
s[i++]=alfabeto[sign*(n%b)];
while ((n/=b)*sign);
if (sign<0)
s[i++]='-';
s[i]='
Quote:
Originariamente inviato da MickMacello
ESERCIZIO 3-5
Scrivete una funzione itob(n,a,b) che converte l' intero n nella corrispondente sequenza di caratteri in base b e mette in s la stringa risultante.
void itob(int n,char s[], int b){
int i,sign;
char alfabeto[36];
for(i=0;i<=9;i++)
alfabeto[i]=i+'0';
for(i=10;i<=36;i++)
alfabeto[i]=i+'A'-10;
sign= (n>=0) ? 1 : -1;
i=0;
do
s[i++]=alfabeto[sign*(n%b)];
while ((n/=b)*sign);
if (sign<0)
s[i++]='-';
s[i]='\0';
reverse(s);
}
|
';
reverse(s);
}
|
Codice:
void itob(int n, int b, char s[]){
int i, sign;
char c;
sign = (n >= 0) ? 1 : -1;
i = 0;
do {
s[i++] = sign * (n % b) + 'a' - '1';
} while ((n /= b)*sign);
if (sign < 0)
s[i++] = '-';
s[i] = '\0';
reverse(s);
}
|
|
|