Probleme tableau 2 dimension

Fermé
nass956 Messages postés 36 Date d'inscription jeudi 14 septembre 2017 Statut Membre Dernière intervention 18 novembre 2018 - 15 janv. 2018 à 20:09
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 16 janv. 2018 à 18:55
bonsoir j ai un problème avec mon code.
je dois faire un code qui me donne la valeur minimal ainsi que sa position , je dois obligatoirement utilisé une variable structuré et une fonction. lorsque je met une valeur plus grande que 10 il m affiche une fausse valeur minimale.
merci d avance

voici mon code


#include<stdio.h>
#include<stdlib.h>
#define L 3
#define C 2
struct element mini(int* tab2[L][C]);

struct element
{
int valeur;
int ligne;
int colonne;

};
int main(void)
{

int tab[L][C];
int i,j;
struct element point2;
for (i=0; i<L; i++)
{
for(j=0; j<C; j++)
{
printf("entrer nombre");
scanf("%d",&tab[i][j]);
}
}
point2=mini(tab);
printf("la valeur mini est %d \n",point2.valeur);
printf("la ligne est %d\n",point2.ligne);
printf("la colonne est %d\n",point2.colonne);
}
struct element mini(int* tab2[L][C])
{

int i, j ;
int min ;

min = tab2[0][0];
struct element point ;
for (i=0; i<L; i++)
{
for(j=0; j<C; j++)
{
if(tab2[i][j]< min)
{
min = tab2[i][j];

point.valeur= min ;
point.ligne= i;
point.colonne= j ;

}
}
}
return point ;
}




A voir également:

1 réponse

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 16 janv. 2018 à 18:59
Salut nass956,

Le prototype de ta fonction ne correspond pas au type de données que tu passes.

Si tu passes "tab", comme tu le fais, le paramètre dans le prototype de ta déclaration de fonction doit correspondre au type "int tab[L][C];", et donc tu devrais remplacer
struct element mini(int* tab2[L][C])
par
struct element mini(int tab2[L][C])
ou alors passer un pointeur vers ce tableau et corriger aussi le code de la fonction pour déréférencer le pointeur afin de parcourir le tableau (mais je ne vois pas trop l'intérêt de faire cela dans ton cas).

En compilant ton code avec les warnings gcc se plaint de cette incohérence.

Enfin, tu devrais terminer ton main par un
return 0;


Dal
0