C++ sommes des élements de deux tableaux

Fermé
vivelaprogra! - 7 nov. 2008 à 19:23
pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
- 8 nov. 2008 à 15:15
Bonjour,

Voici un petit programme que j'ai fait sous visual studio:

//TP5C++:Les tableaux à une dimension
//Exercice1:Manipulation de 2 tableaux
//Ecrivez un algorithme constituant un tableau, à partir de deux tableaux de même longueur préalablement saisis(le nouveau tableau est la somme des éléments des deux tableaux de départ.

#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;


void main(){//int _tmain()(int argc,_TCHAR* argv[]){

	//Déclaration des variables _ Tableaux à une dimension
#define taille 5  //CONST taille=20
	int tab1[taille],tab2[taille],tab3[taille]; //VAR : 3 tableau d'entiers
	int i,j,k;
	
	cout<<"TP5C++:Les tableaux a une dimension"<<endl;
	
	//Regle du jeu

	cout<<"Vous allez saisir 5 valeurs dans le tableau numero 1"<<endl;
	cout<<"puis 5 valeurs dans le tableau numero 2"<<endl;
	cout<<"Ensuite, vous afficherez la somme des elements des deux tableaux de departs."<<endl<<endl;


	//Saisie des valeurs des deux tableaux

	cout<<"TABLEAU 1"<<endl<<endl;

	for (i=0;i<taille;i++){
		cout<<"Entrez un entier: ";
		cin>>tab2[j];
		cout<<endl;
	}
	cout<<endl;
	cout<<endl;

	cout<<"TABLEAU 2"<<endl<<endl;
	for (j=0 ;j<taille; j++) {
		cout<<"Entrez un entier: ";
		cin>>tab2[j];
		cout<<endl;
	}
		cout<<endl;
		cout<<endl;

	//Somme des deux tableau

	cout<<"TABLEAU 3 : sommes des elements des deux premiers tableaux :"<<endl<<endl;

	for (k=0 ;k<taille; k++) {
		cin>>tab3[k]=tab2[j]+tab1[i];
	}
}


Et voici donc ce que le compilateur me répond:

--------------------Configuration: TP5_Somme_tableaux - Win32 Debug--------------------
Compiling...
TP5_Somme_tableaux.cpp
D:\Cours et informatique diverse\Programmation DAIGL\TP C++\TP4_Utilisation du debuggeur\TP4_Utilisation du debuggeur\TP5_Somme_tableaux.cpp(55) : error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'int' (or there
is no acceptable conversion)
Error executing cl.exe.

TP5_Somme_tableaux.obj - 1 error(s), 0 warning(s)



Je ne comprend pas mon erreur , pouvez vous m'éclaircir ?
Merci^^

4 réponses

sheva55
Messages postés
1592
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
2 novembre 2016
267
7 nov. 2008 à 19:36
je suis debutant en programmation mais je pense que tu dois enlever:
#include "stdafx.h"
et il une erreur ver:
void main(){//int _tmain()(int argc,_TCHAR* argv[]){
ce que j'ai constaté
0
pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
136
7 nov. 2008 à 22:57
cin>>tab3[k]=tab2[j]+tab1[i];
J'imagine que c'est la ligne 55... C'est celle-ci qui pose problème, tu ne peux pas faire une affectation en même temps que tu récupères une valeur...
0
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
130
8 nov. 2008 à 10:51
Bonjour,

Attention aux indices, tu les mélanges allègrement ................

int main(){
//int _tmain()(int argc,_TCHAR* argv[]){

	//Déclaration des variables _ Tableaux à une dimension
#define taille 5  //CONST taille=20
	int tab1[taille],tab2[taille],tab3[taille]; //VAR : 3 tableau d'entiers
//Initialise les variables. Prévoir aussi une initialisation des 3 tableaux.
	int i = 0,j = 0,k = 0;
	
	cout<<"TP5C++:Les tableaux a une dimension"<<endl;
	
	//Regle du jeu

	cout<<"Vous allez saisir 5 ENTIERS dans le tableau numero 1"<<endl;
	cout<<"puis 5 ENTIERS dans le tableau numero 2"<<endl;
cout<<"Ensuite, vous afficherez la somme des elements des 2 tableaux"
           " de departs."<<endl<<endl;


	//Saisie des valeurs des deux tableaux

	cout<<"TABLEAU 1"<<endl<<endl;

	for (i=0;i<taille;i++){
		cout<<"Entrez un entier: ";
//		cin>>tab2[j];
//ATTENTION avec les indices.
		cin>>tab1[i];
//		cout<<endl;
	}

// Pour tests (controles visuels à l'écran)
	for (k=0 ;k<taille; k++) {
		cout <<" Element ["<<k<<"] du tableau tab1 :"<<tab1[k]<< endl;
	}
// ----------------------------------------

	cout<<endl;
	cout<<endl;

	cout<<"TABLEAU 2"<<endl<<endl;
	for (j=0 ;j<taille; j++) {
		cout<<"Entrez un entier: ";
		cin>>tab2[j];
//		cout<<endl;
	}

// Pour tests (controles visuels à l'écran)
	for (k=0 ;k<taille; k++) {
		cout <<" Element ["<<k<<"] du tableau tab2 :"<<tab2[k]<< endl;
	}
// ----------------------------------------

	cout<<endl;
	cout<<endl;

	//Somme des deux tableau

cout<<"TABLEAU 3 : sommes des elements des deux premiers tableaux :"<<endl<<endl;

	for (k=0 ;k<taille; k++) {
//ATTENTION avec les indices.
//		cin>>tab3[k]=tab2[j]+tab1[i];
		tab3[k]=tab2[k]+tab1[k];
	}

	for (k=0 ;k<taille; k++) {
		cout <<" Element ["<<k<<"] du tableau tab3 :"<<tab3[k]<< endl;
	}

	return 0;
}
0
Phortitou
Messages postés
221
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
4 décembre 2011
27
8 nov. 2008 à 11:23
// cin>>tab3[k]=tab2[j]+tab1[i];
Je pense aussi que cette ligne pose problème. En fait tu affecte la valeur tab2[j] + tab1[i] à tab3[k] et en même temps tu demandes à l'utilisateur d'affecter une valeur à tab3[k]. Du coup le compilateur saura plus trop quoi faire...
0
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
130
8 nov. 2008 à 11:37
Bonjour,

Je l'ai mise en commentaire (//) et je l'ai remaniée.
0
Phortitou
Messages postés
221
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
4 décembre 2011
27
8 nov. 2008 à 11:39
Et ça marche toujours pas?
0
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
130
8 nov. 2008 à 12:12
Si ça fonctionne chez moi, pourquoi ?
0
pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
136 > cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012

8 nov. 2008 à 14:37
Et bien mets ton post en résolu stp, et bonne continuation.
0
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
130 > pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010

8 nov. 2008 à 14:58
Il revient à Vivelaprogra d'effectuer cette manoeuvre délicate, moi je ne suis qu'un modeste intervenant dans cette discussion.
0
pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
136 > cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012

8 nov. 2008 à 15:01
Au temps pour moi, j'avais pas grillé, désolé ^^ !
0
vivelaprog! > pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010

8 nov. 2008 à 15:11
Merci a vous tous ! ça marche!!
0