Je ne comprends pas comment ce code affiche un triangle. Mon problème principal est de comprendre le fonctionnement des entiers j et k. Comment affectent-ils la position du triangle?

#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 mars 2021 à 10:43

1 réponse

Meilleure réponse

Je suppose que le programme que vous voulez est

#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;
}

Les changements sont:

  • Remplacez l par Rows
  • Remplacez j=2 par j=1

Et voici un exemple de résultat

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

Mon problème principal est de comprendre le fonctionnement des entiers j et k. Comment affectent-ils la position du triangle?

j ici peut représenter l'index de ligne. k peut représenter l'index de la colonne. En un autre mot, k représente le nombre d'éléments dans la ligne actuelle. for(k=1;k<=j;k++) signifie que la valeur maximale de k est j. Puisque j est augmenté de 1, la valeur maximale de k est également augmentée de 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 mars 2021 à 11:28