Bonjour,
J'ai développé pour un projet scolaire une classe Matrices et développé le pivot de Gauss et la méthode de Jacobi le tous en C++.
Franchement pas facile pour moi qui suit debutant en Dev et en math ;-)
Le but du projet étant de comparer certaines informations sur les vitesses de convergence de matrices.
Bon venant en au faite.
Mon code fonctionne correctement et me retournes des lignes au format csv champ separateur ; afin que je puisse l'importer facilement dans excel pour l"analyse données.
Si j’exécute mon programme. Tous ce passe correctement les lignes s'affiche au fur et a mesure sur l’écran.
ce qui ressemble a ça
Par contre, si j’exécute la commande suivante
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 ./monprograme Jacobi;100;100;10000;0.500000000000000;1;0 Jacobi;100;100;10000;0.050000000000000;1;0 Jacobi;100;100;10000;0.005000000000000;2;0 Jacobi;100;100;10000;0.000500000000000;3;0 Jacobi;100;100;10000;0.000050000000000;5;10 Jacobi;100;100;10000;0.000005000000000;6;0 Jacobi;100;100;10000;0.000000500000000;6;10 Jacobi;100;100;10000;0.000000050000000;8;0 Jacobi;100;100;10000;0.000000005000000;9;10 Jacobi;100;100;10000;0.000000000500000;10;10 Jacobi;100;100;10000;0.000000000050000;11;10 Jacobi;100;100;10000;0.000000000005000;12;0 Jacobi;100;100;10000;0.000000000000500;13;10 Jacobi;100;100;10000;0.000000000000050;14;10 Jacobi;100;100;10000;0.000000000000005;15;10 Gauss;100;100;10000;marge;99;30 Jacobi;1000;1000;1000000;0.500000000000000;1;130
Et que depuis un autre terminal je controle le contenue du fichier fic.csv pendant l’exécution de mon programme, mon fichier est vide et le reste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ./monprograme > fic.csv
Je vous assure qu'il doit y avoir des lignes très rapidement.
Le programme est très très très long a s’exécuter ( d’ailleurs je ne sais pas combien temps ) car il y a beaucoup de calcul a faire.
J'aurais aimer pouvoir consulter ce fichier pour voir en ai le boulot , cela me permettrais aussi d’évaluer le temps d’exécution total.
genre avec une commande
J'ai le meme problème si j’exécute la commande suivante Rien a l'ecran, rien dans le fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part tail -f fic.csv
Si je fait un Ctr+C , le fichier est toujours vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ./monprograme | tee -a fic.csv
Si je ne fait qu'un petit test rapide et que l'execution se termine tous de suite, le fichier contient bien des données.
Vous aurez compris que j'attend que mon programme fonctionne comme les commandes unix et avec les I/O standard.
J'utilise dans mon code des cout simple,
Voici ceratainnement le plus compliqué
un autre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 cout<<"Gauss;" <<nbColonnes<< ";"<<nbLignes<< ";"<<(nbLignes*nbColonnes)<< //";"<<bornInf<< //";"<<bornSup<< ";"<<"marge"<< ";"<<count_iteration<< ";" << dureeG/(double)CLOCKS_PER_SEC*1000<<"\n" ;
Il doit y avoir quelque chose que je ne sais pas qui empeche mon programme de recevoir les IO standard de mon programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cout<<setprecision(4)<<tableau[ ( l*nbColonnes ) + c ]<<" " ;
Coté Linux , rien de spéciale, tous fonctionne correctement.
les bibliothèques que j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #include <iostream> #include "Matrices.h" #include <math.h> #include <cstdlib> #include <ctime>
Je vous remerci de m'avoir lu et j'attend vos réponse avec impatience
Partager