No entiendo cómo este código muestra un triángulo. Mi principal problema es comprender el funcionamiento de los números enteros j y k. ¿Cómo afectan la posición del triángulo?

#include <stdio.h>

int main(){
    int j,k,Rows;
    printf("Enter The Number of Rows : ");
    scanf("%d", &Rows);

    for(j=2;j<=l;j++){
        for(k=1;k<=j;k++){
            printf("  %d ", j);
        }
        printf("\n");
    }
    return 0;
}
0
kuldeep singh 13 mar. 2021 a las 10:43

1 respuesta

La mejor respuesta

Supongo que el programa que quieres es

#include <stdio.h>

int main(){
    int j,k,Rows;
    printf("Enter The Number of Rows : ");
    scanf("%d", &Rows);

    for(j=1;j<=Rows;j++){
        for(k=1;k<=j;k++){
            printf("  %d ", j);
        }
        printf("\n");
    }
    return 0;
}

Los cambios son:

  • Cambie l a Rows
  • Cambie j=2 a j=1

Y aquí hay un resultado de ejemplo

Enter The Number of Rows : 6
  1 
  2   2 
  3   3   3 
  4   4   4   4 
  5   5   5   5   5 
  6   6   6   6   6   6

Mi principal problema es comprender el funcionamiento de los números enteros j y k. ¿Cómo afectan la posición del triángulo?

j aquí puede representar el índice de fila. k puede representar el índice de la columna. En otras palabras, k representa cuántos elementos en la fila actual. for(k=1;k<=j;k++) significa que el valor máximo de k es j. Dado que j se incrementa en 1, el valor máximo de k también se incrementa en 1:

口          # j = 1, the max value of k is 1, so this row has 1 item.
口 口       # j = 2, the max value of k is 2, so this row has 2 items.
口 口 口    # j = 3, the max value of k is 3, so this row has 3 items.
口 口 口 口 # j = 4, the max value of k is 4, so this row has 4 items.
2
Ynjxsjmh 13 mar. 2021 a las 11:28