Cerința
Se dă un număr natural n
. Să se afișeze fiecare cifră a numărului folosind simbolul @
, ca în exemplu.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa pe ecran fiecare cifră a numărului citit scrisă. După fiecare cifră se va lăsa un rând gol.
Restricții și precizări
- \( 1 ≤ n ≤ {10}^{10} \)
Exemplu
Intrare
1234567890
Ieșire
@ @@ @ @ @@@@@ @@@@ @ @ @ @ @@@@ @@@@@ @ @@@@@ @ @@@@@ @ @ @ @ @@@@@ @ @ @@@@@ @ @@@@@ @ @@@@@ @@@@@ @ @@@@@ @ @ @@@@@ @@@@ @ @@@ @ @ @@@@@ @ @ @@@@@ @ @ @@@@@ @@@@@ @ @ @@@@@ @ @ @@@@@ @ @ @ @ @ @ @@@@@
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 WriteDigits:
#include <bits/stdc++.h>
using namespace std;
void zoom(long long n)
{
string s=to_string(n);
for (int k=0; k<s.length(); k++)
{
switch(s[k]-'0')
{
case 0:
for (int i=0; i<5; i++)
{
for (int j=0; j<5; j++)
{
if (i==0 || i==4)
cout << '@';
else if (j==0 || j==4)
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
case 1:
for (int i=0; i<5; i++)
{
for (int j=0; j<5; j++)
{
if (j==2)
cout << '@';
else if ((i==1 && j==1))
cout << '@';
else if (i==4)
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
case 2:
for (int i=0; i<5; i++)
{
for (int j=0; j<4; j++)
{
if (i==0 && j==4)
cout << " ";
else if (i==0 || i==4)
cout << '@';
else if (i==1 && j==0)
cout << '@';
else if (i==(4-j))
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
case 3:
for (int i=0; i<5; i++)
{
for (int j=0; j<5; j++)
{
if (i==0 || i==2 || i==4)
cout << '@';
else if (j==4)
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
case 4:
for (int i=0; i<5; i++)
{
for (int j=0; j<5; j++)
{
if (j==4)
cout << '@';
else if (i==2)
cout << '@';
else if (j==0 && (i==0 || i==1))
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
case 5:
for (int i=0; i<5; i++)
{
for (int j=0; j<5; j++)
{
if (i==0 || i==2 || i==4)
cout << '@';
else if ((j==0 && i==1) ||
(j==4 && i==3))
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
case 6:
for (int i=0; i<5; i++)
{
for (int j=0; j<5; j++)
{
if (i==0 || i==2 || i==4)
cout << '@';
else if ((j==0 && (i==1 || i==3)) ||
(j==4 && i==3))
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
case 7:
for (int i=0 ; i<5; i++)
{
for (int j=0 ; j<5; j++)
{
if (i==0 && (j!=4))
cout << '@';
else if (i==2 && (j==2 || j==4))
cout << '@';
else if (j==3)
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
case 8:
for (int i=0; i<5; i++)
{
for (int j=0; j<5; j++)
{
if (i==0 || i==2 || i==4)
cout << '@';
else if ((j==0 && (i==1 || i==3) ||
(j==4 && (i==1 || i==3))))
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
case 9:
for (int i=0; i<5; i++)
{
for (int j=0; j<5; j++)
{
if ( i==0 || i==2 || j==4)
cout << '@';
else if (i==1 && j==0)
cout << '@';
else
cout << " ";
}
cout << '\n';
}
cout << '\n';
continue;
}
}
}
int main()
{
long long n;
cin>>n;
zoom(n);
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 .
Rezolvarea problemei #2911 WriteDigits
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2911 WriteDigits 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!