Questo è il codice in C++ che produce la conversione di un numero in base 10 in un numero binario (base 2).
Notare però che la sequenza delle cifre binarie non è stampata nell'ordine corretto.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int n; // numero da convertire
printf("introdurre numero da convertire in binario\n");
scanf("%d", &n);
int q = n; // assegno un valore diverso da zero per iniziare il ciclo
while (q != 0) {
q = (int) n / 2; // faccio un cast per avere solo la parte intera
int r = n % 2;
printf("%d\n", r);
n = q;
}
return 0;
}
Questo è il codice in C++ che produce la conversione di un numero in base 10 in un numero binario (base 2) come il precedente, ma utilizza una stringa per stampare la sequenza binaria nell'ordine corretto.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int n; // numero da convertire
string s = ""; // stringa per valore convertito
printf("introdurre numero da convertire in binario\n");
scanf("%d", &n);
int q = n; // assegno un valore diverso da zero per iniziare il ciclo
while (q != 0) {
q = (int) n / 2; // faccio un cast per avere solo la parte intera
int r = n % 2;
char buffer[2];
sprintf(buffer, "%d", r);
s = buffer + s;
n = q;
}
cout << s << endl;
return 0;
}
Questo è il codice in C++ che produce la conversione di un numero in base 10 in un numero esadecimale (base 16), utilizza una stringa per stampare la sequenza binaria nell'ordine corretto, inoltre utilizza una serie di if nidificati per individuare il simbolo esadecimale se il resto è maggiore di 9.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int n; // numero da convertire
string s = ""; // stringa per valore convertito
printf("introdurre numero da convertire in binario\n");
scanf("%d", &n);
int q = n; // assegno un valore diverso da zero per iniziare il ciclo
while (q != 0) {
q = (int) n / 16; // faccio un cast per avere solo la parte intera
int r = n % 16;
if (r == 10) s = 'A' + s;
else if (r == 11) s = 'B' + s;
else if (r == 12) s = 'C' + s;
else if (r == 13) s = 'D' + s;
else if (r == 14) s = 'E' + s;
else if (r == 15) s = 'F' + s;
else {
char buffer[2];
sprintf(buffer, "%d", r);
s = buffer + s;
}
n = q;
}
cout << s << endl;
return 0;
}
Questo è il codice in C++ che produce un triangolo isoscele di asterisci,
ovvero un albero di Natale.
Versione con ciclo For, notare la nidificazione dei cicli.
#include <cstdlib>
#include <iostream>
using namespace std;
// Un triangolo isoscele di asterisci,
// ovvero un albero di Natale.
// Versione con ciclo for.
int main(int argc, char** argv) {
int n; // n altezza albero, numero righe utilizzate
cout << "introdurre altezza desiderata" << endl;
cin >> n;
for(int i = 0; i < n; i++) {
for(int k = n-i; k > 0; k--) {
printf(" ");
}
for(int j = 0; j < (i*2)-1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
Il risultato prodotto sarà il seguente.