[langage c]matrice et fonction
lxav
Messages postés
189
Date d'inscription
Statut
Membre
Dernière intervention
-
Uluqiorra -
Uluqiorra -
Bonjour,
je voudrais savoir comment déclarer une matrice que je veux envoyer dans une fonction.
par exemple pour un vecteur....
on déclare dans le programme principal....
main()
{
int x[21],nb=0;
void FCT(int*,int);
.
.
.
//.... puis on l'utilise en ecrivant
FCT(x,nb);
}
..... et on la code...
void FCT(int x[],int nb)
{
......
}
mais si j'utilise
int x[5][21],nb;
comment puis envoyer totalement la matrice dans la fonction?
( le code en bref)
Merci d'avance ;)
je voudrais savoir comment déclarer une matrice que je veux envoyer dans une fonction.
par exemple pour un vecteur....
on déclare dans le programme principal....
main()
{
int x[21],nb=0;
void FCT(int*,int);
.
.
.
//.... puis on l'utilise en ecrivant
FCT(x,nb);
}
..... et on la code...
void FCT(int x[],int nb)
{
......
}
mais si j'utilise
int x[5][21],nb;
comment puis envoyer totalement la matrice dans la fonction?
( le code en bref)
Merci d'avance ;)
A voir également:
- Exercices corrigés sur les matrices en langage c pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Save as pdf office 2007 - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Toutes les formules mathématiques pdf - Télécharger - Études & Formations
- Notices gratuites pdf - Guide
7 réponses
Salut
int tab[5][10];
void FCT(int tab[5][10],int nb){
}
ou void FCT(int tab[5][], int nb){
}
et l'appel : FCT(tab,nb);
Mais surtout pas : void FCT(int tab[][],int nb);
Il faut aider le compilateur à savoir le nombre de cases qu'il faut se déplacer pour changer de lignes.
Si tu veux plus d'explications, n'hésite pas à demander
int tab[5][10];
void FCT(int tab[5][10],int nb){
}
ou void FCT(int tab[5][], int nb){
}
et l'appel : FCT(tab,nb);
Mais surtout pas : void FCT(int tab[][],int nb);
Il faut aider le compilateur à savoir le nombre de cases qu'il faut se déplacer pour changer de lignes.
Si tu veux plus d'explications, n'hésite pas à demander
Re
int tab[5][10]={{0,1,2,3,4,5,6,7,8,9}, {1,2,3,4,5,...}, {4,5,6,...}}; ou tab[3][1]=15; /*pour accéder à une seule case*/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir, je tente dans le cadre d'un TP de programation en C d'appeller la fonction suivante mais je ne parviens pas a compiler.
D'où provient l'erreur ?
merci d'avance pour vos reponses.
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define N1=3
#define N2=3
//void encodMat1(int*);
int main(int argc, char *argv[])
{
// printf("", );
//encodMat1(mat1);
return 0;
}
//Remplissage de la premiere matrice--------------------------------------------
void encodMat1(int *mat)
{
int i,j;
printf("Encodez les elements de la premiere matrice :\n");
for (i=0;i<N1;i++)
{
for (j=0;j<N2;j++)
{
printf("ligne %d, colonne %d : ",i+1,j+1);
scanf("%3d",(mat+i*N1+j));
}
}
}
D'où provient l'erreur ?
merci d'avance pour vos reponses.
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define N1=3
#define N2=3
//void encodMat1(int*);
int main(int argc, char *argv[])
{
// printf("", );
//encodMat1(mat1);
return 0;
}
//Remplissage de la premiere matrice--------------------------------------------
void encodMat1(int *mat)
{
int i,j;
printf("Encodez les elements de la premiere matrice :\n");
for (i=0;i<N1;i++)
{
for (j=0;j<N2;j++)
{
printf("ligne %d, colonne %d : ",i+1,j+1);
scanf("%3d",(mat+i*N1+j));
}
}
}
void FCT(int tab[5][], int nb);
C'est plutôt