Bonjour à tous,
J'ai un petit soucis avec le code suivant qui est censé mettre à 0 les éléments de la diagonale principale d'une matrice carrée.
Il fonctionne jusqu'à l'affichage de la matrice carrée, mais je ne comprend pas pourquoi il ne veut pas exécuter la suite du code.
Voici ce que j'ai fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
 
 
 
int main()
{
	int tab[50][50];
	int i,j,k,l,somme;
	somme=0;
	/*dimension*/
	printf("taper les dimensions (ligne puis colonne)\n");
		scanf("%d",&i);
		scanf("%d",&j);
	/*remplissage*/
for (k=1;k<=i;k++)
{ for (l=1;l<=j;l++)
	{
		printf("taper element ligne %d et colonne %d\n",k,l);
		scanf("%d",&tab[k][l]);
	}
}
	/*affichage*/
for (k=1;k<=i;k++)
{ for (l=1;l<=j;l++)
	{
		somme=somme+tab[k][l];
	printf("%2d",tab[k][l]);
	}
printf("\n");
}
printf("la somme est : %d\n",somme);
printf("\n");
/*mise à 0 de la diagonale*/
 
for (k=1;k<=i;k++)
{
	for (l=1;l<=j;l++)
	{
		if (l=k)
			tab[l][k]=0;
	}
}
/*ré affichage (le code ne ré affiche plus la matrice)*/
for (k=1;k<=i;k++)
{ for (l=1;l<=j;l++)
	{
	printf("%2d",tab[k][l]);
	}
printf("\n");
}
 
}
Merci de votre aide