Cerința
Se dau 2 numere naturale c și n, de o singură cifră. În funcție de valoarea lui c construiți o figură geometrică formată din cifre de la 1 la n, ca în exemple. Dacă c are valoarea:
1 : se va construi un pătrat (latura va fi egală cu n);
2 : se va construi un romb (latura va fi egală cu n);
3 : se va construi un dreptunghi (lungimea lui va fi egală cu n iar lățimea cu dublul lui n;
4 : se va construi un triunghi isoscel (laturile egale vor avea valoarea lui n);
Date de intrare
Programul citește de la tastatură 2 numere naturale c și n.
Date de ieșire
Programul va afișa pe ecran forma geometrica obținută.
Restricții și precizări
• 1 ≤ n ≤ 9
• 1 ≤ c ≤ 4
Exemplu 1:
Intrare
1 5
Ieșire
11111
22222
33333
44444
55555
Exemplu 2:
Intrare
2 5
Ieșire
1
222
33333
4444444
555555555
4444444
33333
222
1
Exemplu 3:
Intrare
3 5
Ieșire
1111111111
2222222222
3333333333
4444444444
5555555555
Exemplu 4:
Intrare
4 5
Ieșire
1
222
33333
4444444
555555555
Cum pot rezolva problema de 100 puncte?
Răspunsuri la întrebare
Răspuns de
14
#include <iostream>
using namespace std;
int n,c,i,j;
int main()
{
cin >> c >> n;
if(c==1)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout << i;
cout << endl;
}
}
else if(c==2)
{
int k=n-1;
int l=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=k;j++)
cout << " ";
for(j=1;j<=l;j++)
cout << i;
cout << endl;
k--;
l+=2;
}
k++;
l-=2;
for(i=n-1;i>=1;i--)
{
k++;
l-=2;
for(j=1;j<=k;j++)
cout << " ";
for(j=1;j<=l;j++)
cout << i;
cout << endl;
}
}
else if(c==3)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n*2;j++)
cout << i;
cout << endl;
}
}
else if(c==4)
{
int k=n-1;
int l=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=k;j++)
cout << " ";
for(j=1;j<=l;j++)
cout << i;
cout << endl;
k--;
l+=2;
}
}
return 0;
}
using namespace std;
int n,c,i,j;
int main()
{
cin >> c >> n;
if(c==1)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout << i;
cout << endl;
}
}
else if(c==2)
{
int k=n-1;
int l=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=k;j++)
cout << " ";
for(j=1;j<=l;j++)
cout << i;
cout << endl;
k--;
l+=2;
}
k++;
l-=2;
for(i=n-1;i>=1;i--)
{
k++;
l-=2;
for(j=1;j<=k;j++)
cout << " ";
for(j=1;j<=l;j++)
cout << i;
cout << endl;
}
}
else if(c==3)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n*2;j++)
cout << i;
cout << endl;
}
}
else if(c==4)
{
int k=n-1;
int l=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=k;j++)
cout << " ";
for(j=1;j<=l;j++)
cout << i;
cout << endl;
k--;
l+=2;
}
}
return 0;
}
bajatu123:
multumesc mult
Alte întrebări interesante
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă