C: problème tableau a plusieurs dimension

Résolu
bouskap Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   -  
bouskap Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,
Je fais appel à vous car je suis en train d'apprendre le C. je sais créer une fonction pour saisir les éléments d'un tableau à une dimension.
Malheureusement, je n'arrive pas a adapter cette fonction a un tableau a plusieur dimension.

mon tableau se présente de la façon suivante, (c'est pour ensuite faire des calculs de vecteur)

tab[numéro du vecteur][coordonnée]

exemple tab[0][0] 1ere coordonnée du premier vecteur
tab[0][1] 2eme coordonnée du premier vecteur
etc...

Je n'arrive pas a créer de fonction saisie pour remplir se tableau de tableau

en gros le principe que je veux faire, c'est appel de la fonction saisie dans le programme principale, et que cette fonction me renvoi le tableau rempli.

la fonction marchant comme ce ci
tab[i][j] on fait varier i de 0 aux nombre de vecteur et j de 0 aux nombres de coordonnée


Mon réel souci est de faire "rentrer" mon tableau dans la fonction.

d'avance merci

5 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Dans ce cas :
#define LIG 50
#define COL 50

void remplissage(int tab[][COL]) {
      int i,j;
      for(i=0;i<LIG;i++)
          for(j=0;j<COL;j++) {
                printf("tab[%d][%d]=",i,j);
                scanf("%d",&tab[i][j]);
          }
}
Et pour l'appel : remplissage(tab);

Cdlt
1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
Quelle est la déclaration de ton tableau ?
int tab[LIG][COL], ou int **tab; avec les mallocs qui vont bien ?

Cdlt
0
bouskap Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   9
 
j'ai fait ma déclaration comme ça: int tab[50][50]
0
bouskap Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   9
 
#include<stdlib.h>
#include<stdio.h>
#include<math.h>

int nbrvec();
int nbrcoor();
void saisie (int,int,int *);

int main()
{
int vect[50][50];
/*
vect[numéro du vecteur][numéro de coordonnée]
exemple: vect[0][0] 1 ere coordonnée du vecteur 1
vect[0][1] 2 eme coordonnée du vecteur 1
vect[m-1][n-1] n eme coordonne du vecteur m
*/

int nbrvect, dimension;
/*
nbrvect => nombre de vecteur
dimension => nombre de coordonnée
*/

nbrvect=nbrvec();
dimension=nbrcoor();

saisie(nbrvect,dimension,vect[50][50]);


system("pause");
return 0;
}

int nbrvec()
{
int i;
printf("Entrez le nombre de vecteurs: ");
scanf("%d",&i);
i--;
return i;
}

int nbrcoor()
{
int j;
printf("Entrez le nombre de coordonnee par vecteurs: ");
scanf("%d",&j);
j--;
return j;
}

void saisie(int i, int j, int *tab[50][50])
{
int compt1, compt2;
for (compt1=0;compt1<i;compt1++)
{
printf("entrez :");
scanf("%d",&tab[compt1][compt1]);
}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bouskap Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   9
 
merci beaucoup
0