salut,
le code suivant est executable mais il m'affiche un resulta qui n'est pas juste
fichier "vecteur.h"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
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 "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 #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; }
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
Partager