07/02/13 20:17
grasszilla
buona sera a tutti ragazzi.
frequento il terzo anno di un istituto tecnico e ho quest'anno iniziato a studiare questo linguaggio.
il professore di informatica ha assegnato un problema sulla conversione di un numero decimale in un altra base di numerazione.
io sono riuscito a svolgere un algoritmo ma presenta ancora qualche problema.
il primo è che non converte in base due numeri superiori a 1023 (giustamente perchè l'ho dichiarato come intero... ma per ora non mi importa, l'importante è che funzioni l'algoritmo).
il secondo è che non so come mostrare le cifre della base 16 superiori a 9 come lettere.
voi che modifiche apportereste al codice?
grazie in anticipo per l'aiuto
frequento il terzo anno di un istituto tecnico e ho quest'anno iniziato a studiare questo linguaggio.
il professore di informatica ha assegnato un problema sulla conversione di un numero decimale in un altra base di numerazione.
io sono riuscito a svolgere un algoritmo ma presenta ancora qualche problema.
#include <iostream> #include <stdio.h> #include <conio.h> int main() { int n, a, risul=0, p=1, resto, base; do { printf("inserisci un numero in base 10 intero positivo :"); scanf("%d", &n); }while (n<=0 || n%1!=0); do { printf("inserisci una base di numerazione compresa tra 2 e 16 :"); scanf("%d", &base); }while (n<=0 || n%1!=0); a=n; do { resto=a%base; a=(int) a/base; risul=(risul+(resto*p)); p=p*10; }while (a>(base-1)); if (a!=0) risul=(risul+(a*p)); printf("\nil valore convertito in base %d equivale a %d ", base,risul); getch(); return 0; }
il primo è che non converte in base due numeri superiori a 1023 (giustamente perchè l'ho dichiarato come intero... ma per ora non mi importa, l'importante è che funzioni l'algoritmo).
il secondo è che non so come mostrare le cifre della base 16 superiori a 9 come lettere.
voi che modifiche apportereste al codice?
grazie in anticipo per l'aiuto
Ultima modifica effettuata da grasszilla 07/02/13 20:27
aaa