[langage C] probleme pour finir un programme

Résolu
nicochamadelol Messages postés 78 Statut Membre -  
 zoubir -
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. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    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
  2. nicochamadelol Messages postés 78 Statut Membre 5
     
    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
  3. zoubir
     
    bon je veu l'algorithme pour le produit d'une matrice diagonal
    0