problème sur tableau C++

problème sur tableau C++ - C++ - Programmation

Marsh Posté le 04-08-2011 à 20:29:35    

Bonsoir,
 
je cherche à effectuer un tri en passant des valeurs d'un tableau à un autre.
voici un bout de code:
[cpp][/cpp]
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv)
{
 char nom [5] [10];
 char tp1 [2] [10];
 int n,p;
 
   
 for (n=0;n<5;n++)
 {
  cout<<"entrer vos noms :";
  cin>>nom[n];
  cout<<endl;
 }
 for (n=0;n<5;n++)
 {
 cout<<nom[n];
 cout<<endl;
 }
 
 for (n=0;n<5;n++)
 {
  tp1[0]=nom[n];
  cout<<"nom de "<<nom[n]<<endl;
  for (p=n+1;p<5;p++)
  {
   //if (nom[p]<tp1)
   //{
   // tp1[1]=tp1 [0];
   // tp1 [0]=nom[p];
   // nom[p]=tp1 [1];
   //}
 
  }
 
 }
 
}
[cpp][/cpp]
 
Au moment où j'affecte à tp1[n] la valeur de nom[n] il y a une erreur.
 
 
 
Merci de vos réponses. Cordialement.

Reply

Marsh Posté le 04-08-2011 à 20:29:35   

Reply

Marsh Posté le 04-08-2011 à 21:59:30    

Je crois que tu es obligé de copier caractère par caractère, affecter un tableau à un autre n'est pas possible.

Reply

Marsh Posté le 05-08-2011 à 09:22:53    

en C++, on utilise std::array pour les tableaux, pas les tableaux C.
std::array a la bonne idee d'avoir une semantique de valeur.

 

si ton compilateur n'est pas c++0x compliant, soit tu utilise boost::array qui a la meme interface soit tu passes par std::copy.

 

et cadeau bonus, les chaines de caracteres en C++, c'est std::string :o


Message édité par Joel F le 05-08-2011 à 09:23:38
Reply

Marsh Posté le 05-08-2011 à 10:32:43    

yartempion a écrit :

Au moment où j'affecte à tp1[n] la valeur de nom[n] il y a une erreur.

 

tu as déclaré des tableaux 2D et tu fait une affectation comme si c'était des tableaux 1d, et ce ne sont pas des pointeurs.


Message édité par in_your_phion le 05-08-2011 à 10:33:32
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed