Bonjour,
J'ai le problme suivant que je n'arrive pas à resoudre :
J'ai un fichier texte structuré comme suit :
La chiffre de la premiere ligne, appellé "ordre" dans le prog, nous donne le nombre de ligne du fichier texte. (il n'a pas d'importance dans notre probleme).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 3 10 15 46 65.32 1 3 5 6 78 5.3 86 7 12.0
L'objectif de mon prog est d'arriver a mettre les valeurs qui suivent dans un tableau de double long a deux dimensions (les valeurs sont sépares par des espaces).
Autrement dit :
tab[0,0] = 10;
tab[0,1] = 10;
tab[0,2] = 46;
tab[0,3] = 65.32;
...etc
J'ai écrit le code suivant, (en m'aidant des FAQs) :
Le probleme étant qu'à la compilation il me m'est :
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 ordre=0; // le constructeur de ifstream permet d'ouvrir un fichier en lecture std::ifstream fichier( "monFichier.txt" ); if ( !fichier ) // ce test échoue si le fichier n'est pas ouvert { cout<<"Le fichier n'existe pas" <<endl; } else { std::string ligne; // variable contenant chaque ligne lue std::getline( fichier, ligne ); // créer un flux à partir de la chaîne à convertir std::istringstream iss(ligne); // convertir en un int iss >> ordre; cout << "Ordre: "<< ordre <<endl; tab = new double long * [ordre]; // on détermine un tableau de 'ordre' pointeurs de type double long for (int i=0;i<=ordre;i++) { tab[i]= new double long[ordre+1]; // on détermine un tableau de 'ordre' double long pour chaque pointeur précédent } int i = 0; double long element; while ( std::getline( fichier, ligne ) ) { // decouper la ligne istringstream iss( ligne ); string mot; int j =0 ; while ( std::getline( iss, mot, ' ' ) ) { // on convertit le mot en double long //convertir en double long std::istringstream iss2(mot); iss2 >> element; tab[i,j] = element; ///////////////PROBLEME ICI cout << tab[i,j] << endl; j++; } i++; } }
"cannot convert `long double' to `long double*' in assignment "
concernant la ligne "tab[i,j] = element;"
Je ne comprends pas pourquoi, "element" est déclaré en double long, j'ai un peu tout essayer, ca ne marche pas....Que dois-je faire?
Merci d'avance de votre aide.
Partager