Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1489 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Tableau dans fonction

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tableau dans fonction

n°2219073
OrcusZ
Pro AMD | .Net lover
Posté le 09-02-2014 à 21:17:18  profilanswer
 

Bonjour,

 

J'ai un petit soucis avec mon programme.
Après avoir initialisé mes tableaux et les avoir passer dans la fonction pour les remplir j'ai un gros soucis lors de la compilation.... Ma fonction passe au oubliett :/
Et même si je prend le code de ma fonction et que je la colle dans mon main... Ce que je rentre dans mon tableau est pas pris en compte. Le tableau me renvoie toujours 0 :'(

 

Voici mon code

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <iostream>
  4. #define TAILLE 3
  5. using namespace std;
  6. void reception(int *tab){
  7. int i;
  8. while(i<TAILLE){
  9.  cout<<"Ecrire :\n";
  10.  cin>>tab[i];
  11.  i++;
  12. }
  13. }
  14. main(){
  15. int * col1 = new int [TAILLE];
  16. int * col2 = new int [TAILLE];
  17. int * stock = new int [TAILLE];
  18. int * vente = new int [TAILLE-1];
  19. reception(col1);
  20. //reception(col2);
  21. //reception(stock);
  22. //reception(vente);
  23. for(int i=0;i<TAILLE;i++){
  24. cout<<col1[i]<<"\n";
  25. }
  26. delete [] col1;
  27. delete [] col2;
  28. delete [] stock;
  29. delete [] vente;
  30. }
 

Merci du coup e de main


Message édité par OrcusZ le 09-02-2014 à 21:18:38

---------------
Made you your own sentence without believing that of the others...
mood
Publicité
Posté le 09-02-2014 à 21:17:18  profilanswer
 

n°2219078
gilou
Modérateur
Modzilla
Posté le 10-02-2014 à 01:41:09  profilanswer
 

Code :
  1. void reception(int *tab){
  2.     int i = 0;


Si i n'est pas initialisé, le premier test de boucle peut donner n'importe quoi.
 
d'autre part, c'est pas bon, cette fonction qui prend un paramètre caché! Et qui en plus va faire foirer l'appel reception(vente);

Code :
  1. void reception(int *tab, int size){
  2.     int i = 0;
  3.     while(i<size){
  4. cout << "Ecrire :\n";
  5. cin >> tab[i];
  6. i++;
  7.     }
  8. }
  9. ................
  10. reception(col1, TAILLE);
  11. ..
  12. reception(vente, TAILLE-1);


 
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2219084
OrcusZ
Pro AMD | .Net lover
Posté le 10-02-2014 à 09:17:56  profilanswer
 

Haha, j'ai tourner ça pendant je sais pas combien de temps et j'ai pas vu que j'avais pas initialisé mon i :x
 
Par contre je ne comprend pas pourquoi vous parler de paramètre caché pour la taille??
 
J'ai bien définie la taille en tant que #define ( pour la changer selon mes besoins )
 
En tout cas merci, c'est toujours sympas d'avoir un oeil extérieur :)


---------------
Made you your own sentence without believing that of the others...
n°2219111
Farian
Posté le 10-02-2014 à 12:10:11  profilanswer
 

Bonjour !
 
Le paramètre est caché dans la mesure où la fonction se base sur le fait qu'elle connait par ailleurs la taille du tableau, sans que celle-ci lui soit passée en paramètre.
 
Dans le cas de votre tableau "vente", qui n'a pas la même taille que les autres (et, élément aggravant dans ce cas, une taille inférieure), l'utilisation de cette fonction entrainera des effets de bord.
 
Bonne continuation !

n°2219113
OrcusZ
Pro AMD | .Net lover
Posté le 10-02-2014 à 12:35:32  profilanswer
 

Bonjour,
 
Merci pour l'explication.


---------------
Made you your own sentence without believing that of the others...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Tableau dans fonction

 

Sujets relatifs
Fonction qui retourne un tableau dynamiquefonction d'affichage d'un tableau 2 dimensions
calcul d'une fonction dans un tableauma fonction ne trie pas le tableau
Récuperer objet dans tableau en fonction du champ d'un objetAffichage d un tableau retourne par une fonction
Langage C : passage d'un tableau à une fonction 
Plus de sujets relatifs à : Tableau dans fonction


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR