Fonction d'affichage d'un tableau 2 dimension

razuki Messages postés 293 Statut Membre -  
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'aimerais afficher un tableau deux dimensions d'entiers. Je ne souhaite pas utiliser malloc pour créer mon tableau ( l'utilisation de malloc est une solution à mon problème mais ce n'est pas ce que je recherche). Voici mon code:

#include <stdio.h>
#include <stdlib.h>
 
 
double Q[6][6] = 
{
	{1,1,1,1,1,1},
	{1,1,1,1,1,1},
	{1,10,1,1,1,1},
	{1,1,1,1,1,1},
	{1,1,1,1,1,1},
	{1,1,1,1,1,1},
};
 
 
 
affiche(double **tab)
{
	int i, j;
	for(i=0; i<6; i++)
	{
		for(j=0; j<6; j++)
		{
			printf("%d", tab[i][j]);
		}
		printf("\n");
	}
	printf("\n");
}
 
int main()
{
	affiche(Q);
	return 0;
}

et là, j'obtiens un warning classique ( qui mène vers un segmentation fault à l'execution):
warning: passing argument 1 of `affiche' from incompatible pointer type

Est ce que quelqu'un saurait comment passer en paramètre un pointeur vers mon tableau ? j'ai essayé quelques manips mais ca ne mène nullepart ...

Merci d'avance

A voir également:

1 réponse

fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Bonjour,

Essaie plutôt : affiche(double tab[][6]) ou encore mieux : void affiche(double tab[][6])
De plus : printf("%d", tab[i][j]); il faut mettre "%f" puisque ce sont des double.
Note : si tu mets pas d'espaces, les nombres d'une même ligne seront collés.

Cdlt,
0