[langage c]matrice et fonction
Fermé
lxav
Messages postés
189
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
28 juillet 2008
-
8 juin 2007 à 20:50
Uluqiorra - 13 mai 2011 à 20:37
Uluqiorra - 13 mai 2011 à 20:37
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
- Comment faire un pdf - Guide
- Save as pdf - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Comment modifier un pdf - Guide
7 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
8 juin 2007 à 21:26
8 juin 2007 à 21:26
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
lxav
Messages postés
189
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
28 juillet 2008
71
8 juin 2007 à 21:32
8 juin 2007 à 21:32
merci a toi
et la déclaration dans le programme principal?
et la déclaration dans le programme principal?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
8 juin 2007 à 23:19
8 juin 2007 à 23:19
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
lxav
Messages postés
189
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
28 juillet 2008
71
9 juin 2007 à 16:02
9 juin 2007 à 16:02
je voulais dire la déclaration de la fonction.... pas d'une matrice ;)
ekra
Messages postés
1870
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
24 juillet 2014
342
9 juin 2007 à 18:48
9 juin 2007 à 18:48
Il n'y a pas de déclaration dans le programme principal. Tu parles peut-être de l'appel de la fonction ?
Mais bon le plus simple et le plus efficace est une structure.
FTC(x,nb);
Mais bon le plus simple et le plus efficace est une structure.
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));
}
}
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
8 janv. 2008 à 00:58
8 janv. 2008 à 00:58
Salut
#define N1 3 au lieu de #define N1=3
#define N2 3 au lieu de #define N2=3
#define CONSTANTE CHAINE remplacera avant la compilation l'occurence CONSTANTE par CHAINE, donc dans ton cas, cela remplecera N1 par =3 d'où l'erreur de compilation.
Cordialement
#define N1 3 au lieu de #define N1=3
#define N2 3 au lieu de #define N2=3
#define CONSTANTE CHAINE remplacera avant la compilation l'occurence CONSTANTE par CHAINE, donc dans ton cas, cela remplecera N1 par =3 d'où l'erreur de compilation.
Cordialement
9 juin 2007 à 18:41
void FCT(int tab[5][], int nb);
C'est plutôt