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.