salut imi poate spune si mie ce e gresit la problema asta ?
pentru n=5 imi da dar pentru celelalte nu merge ...
Se dă n un număr natural. Să se afișeze o clepsidră de dimensiune n formată din caractere * iar spațiul spațiul exterior umplut cu caracterul #, ca în exemplu.
*********
#* * * * * * *#
##* * * * *##
###* * *###
####*####
###* * *###
##* * * * *##
#* * * * * * *#
* * * * * * * * *
#include
using namespace std;
int main()
{int n;
cin>>n;
for(int i=1;i<=2*n-1;i++)
cout<<"*";
cout<<"\n";
for(int i=2*n-3;i>=n;i--)
{
for(int l=1;l<=2*n-i-2;l++)
{
cout<<"#";
}
for(int l=n;l<=2*i-3;l++)
cout<<"*";
for(int l=1;l<=2*n-i-2;l++)
{
cout<<"#";
}
cout<<"\n";
}
for(int i=1;i<=n-1;i++)
cout<<"#";
cout<<"*";
for(int i=1;i<=n-1;i++)
cout<<"#";
cout<<"\n";
for(int i=n;i<=2*n-3;i++)
{
for(int l=1;l<=2*n-i-2;l++)
{
cout<<"#";
}
for(int l=n;l<=2*i-3;l++)
cout<<"*";
for(int l=1;l<=2*n-i-2;l++)
{
cout<<"#";
}
cout<<"\n";
}
for(int i=1;i<=2*n-1;i++)
cout<<"*";
cout<<"\n";
return 0;
}
Răspunsuri la întrebare
Răspuns de
1
pai tu ai facut un caz particular si de aia merge pt n=5. cam asa arata rezolvarea corecta (sau mrg una dintre ele) si merge pentru orice n
#include <iostream>
using namespace std;
int main()
{
unsigned n, i, j;
char a[100][100];
cin>>n;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if(i+j>n+1 && i<j)
a[i][j]='#';
else if(i+j<n+1 && i>j)
a[i][j]='#';
else
a[i][j]='*';
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=2*n-1;i++)
cout<<'*';
cout<<'\n';
for(int i=n-1;i>=1;i--)
{
for(int j=1;j<=n-i;j++)
cout<<'#';
for(int j=1;j<=2*i-1;j++)
cout<<'*';
for(int j=n-i;j>=1;j--)
cout<<'#';
cout< }
for(int i=2;i<=n-1;i++)
{
for(int j=1;j<=n-i;j++)
cout<<'#';
for(int j=1;j<=2*i-1;j++)
cout<<'*';
for(int j=n-i;j>=1;j--)
cout<<'#';
cout< }
for(int i=1;i<=2*n-1;i++)
cout<<'*';
cout<<'\n';
}