[langage C] probleme pour finir un programme

Résolu
Bonjour,
alors voila j'ai un exercice a envoyer par mail pour ce soir et je suis un peu bloquer
voila l'exercice:
ecrire un programme qui met a 0 les elements de la diagonale principale d'une matrice carrée donnée:
-demander la taille de la matrice
-saisie des donnée de la matrice
-affichage de la la matrice saisie
-mise a 0 de la diagonale principale
-affichage de la matrice modifiée

voilla de debut du programme et moi je bloque pour faire la diagonale:

#include <stdio.h>
int main()

{
int nb_ligne;
int i;
int j;

nb_ligne=30;

while (nb_ligne>10)
{
printf("nombre de ligne?\n");
scanf("%d", &nb_ligne);

if (nb_ligne>10)
{
printf("Erreur, doit etre inférieur ou égale a 10\n") ;
}
}

for(i=1 ; i<=nb_ligne ; i++)
{
for(j=0 ; j<nb_ligne ; j++)
{
printf("1");
}

printf("\n");
}

return 0 ;
}

merci de bien vouloir m'aider
Configuration: Windows XP
Firefox 2.0.0.11

3 réponses

  1. deja on te demande une matrice donc tu es censé utiliser un tableau 2D
    ensuite pour metre la diagonale a 0 il faut metre tous les matrice[i][i] a 0
    voici ce qu ça donne (si ta pas compris quelquechose n'hesite pas a demander...)
    #include <stdio.h>
    int main()
    
    {
    int nb_ligne;
    int i;
    int j;
    int matrice[10][10];
    
    while (nb_ligne>10)
    {
        printf("nombre de ligne?\n");
        scanf("%d", &nb_ligne);
    
            if (nb_ligne>10)
        {
        printf("Erreur, doit etre inférieur ou égale a 10\n") ;
        }
    }
    
    for(i=0 ; i<nb_ligne ; i++)
    {
        for(j=0 ; j<nb_ligne ; j++)
        {
            matrice[i][j]=1;
        }
    }
    
    printf("---1ere matrice---\n");
        for(i=0;i<nb_ligne;i++){
            for(j=0;j<nb_ligne;j++){
                printf("%d ",matrice[i][j]);}
                printf("\n");}
        for(i=0;i<nb_ligne;i++)
            matrice[i][i]=0;
    printf("\n");
    
    printf("---2eme matrice---\n");
        for(i=0;i<nb_ligne;i++){
            for(j=0;j<nb_ligne;j++){
                printf("%d ",matrice[i][j]);}
                printf("\n");}
    return 0 ;
    }
    
    0
    1. merci beaucoup par contre il a juste une erreur dans ton programme que j'ai rectifier pour qu'il soit parfait
      merci encore et bon week end
      ++
      0
      1. bon je veu l'algorithme pour le produit d'une matrice diagonal
        0