Bonjour,
Comment calculer la somme de valeurs contenues dans un fichier txt en passant par une methode? Merci de votre aide
Bonjour,
Comment calculer la somme de valeurs contenues dans un fichier txt en passant par une methode? Merci de votre aide
bonjour,
il faut, écrire une méthode qui:
- ouvre le fichier texte
- lit les lignes du fichier texte
- extraire et convertir en nombre ce qu'il y a dans chaque ligne
- en profiter pour ajouter chaque nombre trouvé
- fermer le fichier texte si nécessaire
- et la méthode se termine en retournant la somme calculée.
Bonjour. Comment faire reverse des nombres contenus dans un fichier?
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 void inverser(int *tableau, int b); void inverser(int *tableau, int b) { int n; int nombrelus; int temp, k, j; string monfichier; // 1 2 3 4 5 6 7 8 9 10 ifstream fichier(monfichier); cout << " Entrez le nom du fichier: "; cin >> monfichier; fichier.open(monfichier); if(!fichier) { cerr << "Fichier introuvable"; } fichier >>n; tableau = new int[n]; while(fichier >> nombrelus) { cout << nombrelus<< endl; } n = sizeof(tableau)/sizeof(tableau[0]); for ( k = 0, j = n-1; k < j; k++, j--) { ?????????????????? } cout << " Le tableau inverse: " << tableau << endl; }
Un tableau en C++ c'est std::array<> ou std::vector<>. Et il n'existe aucune bonne raison d'utiliser new!
Ton code ne rempli jamais tableau ni monfichier. std::cout ne sait pas naturellement afficher un tableau.
Et pour inverser l'ordre il y a la fonction std::reverse().
Un exemple (peut-être en avance sur ce que tu as appris):
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 #include <fstream> #include <string> #include <iostream> #include <vector> #include <algorithm> std::vector<int> lire_et_inverser( std::string const& file_name ) { std::vector<int> result; std::ifstream file( file_name ); if ( file ) { std::copy( std::istream_iterator<int>{file}, std::istream_iterator<int>{}, std::back_inserter( result ) ); // lit et convertit les entiers du fichier std::reverse( result.begin(), result.end() ); // et les inverse } return result; } int main() { auto const tableau = lire_et_inverser( "fichier.txt" ); std::cout << "les données réordonnées du fichier\n"; std::copy( tableau.begin(), tableau.end() , std::ostream_iterator<int>( std::cout, " , " ) ); }
Partager