salve a tutti ragazzi, il seguente programma stampa asterischi:
codice:
void scrivi(int n, int k=0){if (k==n) return;
if (k <= n/2) {
for (int i=0; i<k; i++)
cout << ' ';
cout << '*' << endl;
}
else
{for (int j=0; j< n-k-1; j++)
cout << ' ';
cout << '*' << endl;
}
scrivi(n, k+1);
}
e li stampa in questo modo:
dove il numero degli asterischi è dato dalla variabile n (in questo caso 5), nel ciclo for viene dichiarata una nuova int che serve per vedere in quale posizione si trova il programma e stampare quindi un asterico o uno spazio. non ho però ben capito come realmente riesce a farlo, come si "orienta" per scrivere lo spazio o l'asterisco?
grazie delle risposte!