Originariamente inviato da Dora
Ho pensato a tutto quello che mi avete detto... e ovviamente tutto era esatto. La mia difficoltà sta più nel ricercare gli algoritmi piuttosto che a trasformare questi ultimi in C++... c'è un metodo per essere facilitati a trovarli oppure si fa tutto a naso... perché se si dovessero trovare tutti gli algoritmi a naso... io sono rovinata!!!
Esistono dei libri di algoritmi, ma trattano di algoritmi particolari e particolarmente complessi e ben studiati (ad esempio alcuni algoritmi di ordinamento); per i problemi "di tutti i giorni" si va a logica (anche se moltissimi problemi sono ricorrenti).
Comunque, ritornando al quadrato formato di asterischi, il mio quadrato dovrebbe assomigliare a questo (nel caso io digitassi 5):

codice:
*****
*   *
*   *
*   *
*****
Io sono riuscita adisegnare un quadrato pieno... ma come fare gli spazi? Dichiarando una variabile "spazio = lato - 2" ???
Al di là del fatto che hai invertito le righe con le colonne, non è necessario dichiarare una variabile per tutto; puoi fare facilmente così:
codice:
int righe = lato;
while(righe > 0)
{
	int colonnevuote = lato-2;
	cout << '*';
	while(colonnevuote > 0)
	{
		if(righe==lato || righe==1)
			cout<<'*';
		else
			cout << ' ';
		colonnevuote--;
	}
	cout << '*';
	cout << endl;
	righe--;
}
.
P.S.: al posto dei while sarebbero meglio dei for in questo caso.