A voir également:
- Passage par reference C++
- Passage qwerty azerty - Guide
- Reference pto - Accueil - Box & Connexion Internet
- Test passage windows 11 - Guide
- Passage à windows 11 gratuit - Guide
- Passage windows 7 à 10 - Accueil - Mise à jour
2 réponses
passage par adresse void fonction(int *T ) ou aussi comme ci dessus
void fonction(int T[])
je cherche à faire la même chose en passage par référence
void fonction(int &T)
void fonction(int T[])
je cherche à faire la même chose en passage par référence
void fonction(int &T)
salut
D'abord, j'aimerais faire quelques remarques sur ton programme:
void fonction(int T[]) est strictement equivalent a void fonction(int* T)
et puis dans ton main, ca se sert a rien de declarer un pointeur pour recuperer l'adresse de debut de ton tableau T, car il suffit d'ecrire: fonction(T)
en effet, T represente exactement l'adresse du premier élement de ton tableau T, c'est a dire l'adresse de T[0].
Pour ce qu'il s'agit du passage de valeurs par reference, si ma mémoire est freche, ca ne s'utilise qu'en C++ (pas en c), le principe est simple, on ne veut pas manipuler des pointeurs, donc on utilise les réferences. exemple:
void fonction(int &a, int &b)
{.....
int c = a;
a = b; b = c; //commutation de valeurs...
}
dans le main:
void main(void){
int i = 4, j = 6;
echange (i, j); // à présent i == 6, j == 4
}
pour ton cas, voici la solution
void fonction(int &T){
int i, min,indice ;
int* pt=&T;
min = T ;
for (i=0 ; i<10 ; i++)
{
if (*(pt+i)< min){
min = *(pt+i);
indice=i;}
}
cout<<"le min est "<<min<< "et il se trouve a la position "<<indice+1<<endl;
}
int main(void){
int T[10]={2,3,34,87,6,6,1,3,5,2};
fonction(T[0]);
return(0);
}
je te fais remarquer que j'ai utilisé quand meme un pointeur sur l'adresse de T pour pouvoir acceder aux element du tableau T
bon courage pour la suite...........
D'abord, j'aimerais faire quelques remarques sur ton programme:
void fonction(int T[]) est strictement equivalent a void fonction(int* T)
et puis dans ton main, ca se sert a rien de declarer un pointeur pour recuperer l'adresse de debut de ton tableau T, car il suffit d'ecrire: fonction(T)
en effet, T represente exactement l'adresse du premier élement de ton tableau T, c'est a dire l'adresse de T[0].
Pour ce qu'il s'agit du passage de valeurs par reference, si ma mémoire est freche, ca ne s'utilise qu'en C++ (pas en c), le principe est simple, on ne veut pas manipuler des pointeurs, donc on utilise les réferences. exemple:
void fonction(int &a, int &b)
{.....
int c = a;
a = b; b = c; //commutation de valeurs...
}
dans le main:
void main(void){
int i = 4, j = 6;
echange (i, j); // à présent i == 6, j == 4
}
pour ton cas, voici la solution
void fonction(int &T){
int i, min,indice ;
int* pt=&T;
min = T ;
for (i=0 ; i<10 ; i++)
{
if (*(pt+i)< min){
min = *(pt+i);
indice=i;}
}
cout<<"le min est "<<min<< "et il se trouve a la position "<<indice+1<<endl;
}
int main(void){
int T[10]={2,3,34,87,6,6,1,3,5,2};
fonction(T[0]);
return(0);
}
je te fais remarquer que j'ai utilisé quand meme un pointeur sur l'adresse de T pour pouvoir acceder aux element du tableau T
bon courage pour la suite...........
merci bien pour les remarques , au-fait mon programme est en C++ c'est pour cela que j'ai demandé le passage par référence, je l'ai trouver dans un examen , le prof à demandé au lieu d'un passage par adresse de faire un passage par référence alors que le fait de faire une référence d'un tableau me semblais bizarre , merciii