salut,

le code suivant est executable mais il m'affiche un resulta qui n'est pas juste

fichier "vecteur.h"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
#include <iostream.h>
 
using namespace std;
 
class vecteur
{
 
   int taille;
   int max;
   int *tab;
   public :
   vecteur(int n=10):max(n),taille(0)
   {
       tab=new int[n];
   }
   ~vecteur(){delete[]tab;}
  vecteur(const vecteur &source)
   {
       max=source.max;
       taille=source.taille;
       tab=new int[max];
       for(int i=0;i<taille;i++)
       tab[i]=source.tab[i];
   }
 
   void afficher();
   void ajouter(int);
 
   vecteur somvect(vecteur);
};
fichier "vecteur.cpp"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
#include"vecteur.h"
 
 
void vecteur::afficher()
{
    for(int i=0;i<taille;i++)
 
        cout<<tab[i]<<"|";
        cout<<endl;
}
 
void vecteur::ajouter(int x)
{
    if(taille<max)
    tab[taille++]=x;
}
 
 
vecteur vecteur::somvect(vecteur v)
{
    vecteur som(taille);
 
    for(int i=0;i<taille;i++)
    som.ajouter(tab[i]+v.tab[i]);
    return som;
}
fichier "main.cpp"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
#include"vecteur.h"
int main()
{
 
vecteur v1,v2,v3;
int n,x;
cout<<"nombre de valeur ?";
cin>>n;
cout<<"remplir de v1\n";
for(int i=0;i<n;i++)
{
    cout<<"donner une valeur :";
    cin>>x;
    v1.ajouter(x);
}
cout<<"remplir de v2\n";
for(int i=0;i<n;i++)
{
    cout<<"donner une valeur :";
    cin>>x;
    v2.ajouter(x);
}
 
v3=v1.somvect(v2);
cout<<"v1+v2=";v3.afficher();
 
 
 
    return 0;
}

voila un exemple d'execution

le valeur de "V1"

2 3 4

les valeur de "V2"

5 6 7

V1+V2=0|9|11


le probleme c 'est au nivaeu la valeur 0 noramalement il m'affiche

V1+V2=7|9|11


j'ai teste plusieurs cas mais quand je fait eliminer le destructeur il m'affiche un resultat juste



merci d'avance