Un programa creativo en C++ para ampliar los dígitos de un número entero

Escriba un programa C (o C++) para hacer ZOOM (aumentar) los dígitos de un número entero. Debe tomar un número entero del usuario y mostrar cada dígito del número entero en forma ampliada usando algún patrón. Ejemplos:

Input : 123
Output : 

  @
 @@
  @
  @
@@@@@
-------------------------------

@@@@
@  @
  @
 @
@@@@
-------------------------------


@@@@@
    @
@@@@@
    @
@@@@@
-------------------------------

Este programa creativo toma un número entero del usuario e imprime todos y cada uno de los dígitos de ese número entero después de hacer zoom

El número dado se convierte primero en una string usando stringstream . Después de eso, se accede a cada carácter (dígito) y se coloca en la estructura de la caja del interruptor que AMPLIA cada dígito y se imprime en forma de patrón. A continuación se muestra la implementación de C++ 

C

// C++ program to zoon digits of an integer
#include <bits/stdc++.h>
using namespace std;
 
void zoomDigits(int number)
{
    // Converting number to string
    stringstream ss;
    ss << number;
    string str = ss.str();
 
    for (int k=0; k<str.length(); k++)
    {
        switch(str[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 << endl;
            }
            cout << "-------------------------------\n\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 << endl;
            }
            cout << "-------------------------------\n\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 << endl;
            }
            cout << "-------------------------------\n\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 << endl;
            }
            cout << "-------------------------------\n\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 << endl;
            }
            cout << "-------------------------------\n\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 << endl;
            }
            cout << "-------------------------------\n\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 << endl;
            }
            cout << "-------------------------------\n\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 << endl;
            }
            cout << "-------------------------------\n\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 << endl;
            }
            cout << "-------------------------------\n\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 << endl;
            }
            cout << "-------------------------------\n\n";
            continue;
        }
    }
}
 
// Driver code
int main()
{
    long long number = 12305;
    zoomDigits(number);
    return 0;
}

Producción:

  @
 @@
  @
  @
@@@@@
-------------------------------

@@@@
@  @
  @
 @
@@@@
-------------------------------

@@@@@
    @
@@@@@
    @
@@@@@
-------------------------------

@@@@@
@   @
@   @
@   @
@@@@@
-------------------------------

@@@@@
@
@@@@@
    @
@@@@@
-------------------------------

Complejidad temporal : O(n) 
Espacio auxiliar : O(1)

Este artículo es una contribución de MAZHAR IMAM KHAN . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *