Allora per il momento ho scritto questo:
#include <iostream>
using namespace std;
int lato,orizzontale,verticale;
main()
{
cout<<"Inserisci il lato del quadrato"<<endl;
cin>>lato;
orizzontale=0;
for(verticale=0;verticale<lato;verticale++) {
while(orizzontale<lato) {
cout<<"*";
orizzontale++;
}
cout<<""<<endl;
orizzontale=0;
while(orizzontale<lato) {
cout<<"*";
orizzontale++;
}
}
system("PAUSE");
}
funziona ma con un piccolo errore stampa una riga di asterischi in piu'...
Se trovi l'errore prima di me avvisami XD
EDIT:
inizializzando la variabile "verticale" a 1 anzichè a 0 si risolve il problema.. perchè il ciclo for viene eseguito una prima volta con verticale=1 e stampa su schermo una riga di asterischi,
poi aumenta il valore della variabile verticale a 2 (la condizione è ancora verificata quindi il ciclo viene eseguito una seconda volta, e così via fino a quando non si raggiunge il valore del lato inserito precedentemente.
ecco il codice sorgente funzionante:
#include <iostream>
using namespace std;
int lato,orizzontale,verticale;
main()
{
cout<<"Inserisci il lato del quadrato"<<endl;
cin>>lato;
orizzontale=0;
for(verticale=1;verticale<lato;verticale++) {
while(orizzontale<lato) {
cout<<"*";
orizzontale++;
}
cout<<""<<endl;
orizzontale=0;
while(orizzontale<lato) {
cout<<"*";
orizzontale++;
}
}
cout<<""<<endl;
system("PAUSE");
}
P.S.
Deve essere necessariamente compreso tra 0 e 20 il lato?? XD come l'ho fatto io puo' essere qualsiasi numero...
Comunque questo funziona perfettamente e il lato è compreso tra 0 e 20:
#include <iostream>
using namespace std;
int lato,orizzontale,verticale;
main()
{
cout<<"Inserisci il lato del quadrato"<<endl;
cin>>lato;
orizzontale=0;
if(lato<=20) {
for(verticale=1;verticale<lato;verticale++) {
while(orizzontale<lato) {
cout<<"*";
orizzontale++;
}
cout<<""<<endl;
orizzontale=0;
while(orizzontale<lato) {
cout<<"*";
orizzontale++;
}
}
}
cout<<""<<endl;
system("PAUSE");
}