[langage C] probleme pour finir un programme

Résolu/Fermé
nicochamadelol Messages postés 78 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 9 mai 2011 - 1 déc. 2007 à 15:08
 zoubir - 2 déc. 2007 à 18:47
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
A voir également:

3 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
1 déc. 2007 à 15:24
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
nicochamadelol Messages postés 78 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 9 mai 2011 5
1 déc. 2007 à 15:47
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
bon je veu l'algorithme pour le produit d'une matrice diagonal
0