Rezolvare completă PbInfo #1412 Desen

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 e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Desen:

#include <iostream>

using namespace std;

int main()
{
    int c,n;
    cin>>c>>n;

    if(c==1)
    {
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++) cout<<i;
            cout<<endl;
        }
    }

    else if(c==2)
    {
        for(int i=1;i<=n;i++)
        {
            for(int k=1;k<=n-i;k++) cout<<" ";

            for(int j=1;j<=2*i-1;j++) cout<<i;
            cout<<endl;
        }

        for(int i=n-1;i>0;i--)
        {
            for(int k=1;k<=n-i;k++) cout<<" ";

            for(int j=1;j<=2*i-1;j++) cout<<i;
            cout<<endl;
        }
    }

    else if(c==3)
    {
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n*2;j++) cout<<i;
            cout<<endl;
        }
    }

    else
    {
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n-i;j++) cout<<" ";

            for(int l=1;l<=2*i-1;l++) cout<<i;
            cout<<endl;
        }
    }
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #1412 Desen

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1412 Desen de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!