es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En cuanto a imprimir un patrón

Pregunta
¿Cómo puedo dar espacios entre los números? Cuando agrego <<" " después de cout<<j, el patrón cambia. ¿Hay alguna otra forma de dar espacios entre los números?

Código

#include<iostream>
using namespace std;
int main(){
int i,j=1,space,star,n;
cin>>n;
i=1;

Looping

while(i<=n){
space=n-i;
 while(space){
    cout<<" ";
    space--;
 }
star=i;
while(star){
cout<<j<<" ";
j++;
star--;
}
cout<<"\n";
   i++;
}
return 0;

}

Salida
para n=4
“`
1
23
456
78910


Quiero esta salida:-

1
2 3
3 4 5
7 8 9 10

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para dar espacios entre los números en la salida deseada, podemos ajustar la cantidad de espacios impresos antes de cada línea. Podemos modificar el bucle que imprime los espacios para imprimir espacios en función de la longitud del número máximo en la última fila. Aquí se explica cómo podemos hacerlo:

    “`c ++
    #include
    #include // incluir la biblioteca cmath para usar la función log10
    using namespace std;
    int main(){
    int i, j = 1, espacio, estrella, n;
    cin >> n;
    i = 1;
    int max_num = pow(10, (int) log10 (n) + 1) – 1; // obtener el número máximo para determinar el ancho de los espacios necesarios
    int max_spaces = log10(max_num) + 1; // calcular los espacios máximos necesarios para cada número

    // Looping
    while (i <= n) {
        espacio = (n - i) * max_spaces; // calcular la cantidad de espacios necesarios
        while (espacio) {
            cout << " ";
            espacio--;
        }
        estrella = i;
        while (estrella) {
            cout << j << " ";
            j++;
            estrella--;
        }
        cout << "\n";
        i++;
    }
    return 0;
    

    }


    Esto debería producir la salida deseada:
      1
    2 3
    

    3 4 5
    7 8 9 10
    “`

Comments are closed.