#include <fstream> #include #include <sstream> #include <list> #include <cstdlib> /* Convertit un string en n'importe quel type numérique */ template<typename T> bool fromString(const std::string& str, T& dest) { std::istringstream iss(str); return iss >> dest != 0; } int main() { std::list<double> tab; std::ifstream fichier("fiche.txt"); if (!fichier) { std::cout << "fichier inexistant" << std::endl; return 1; } std::string ligne; while (std::getline(fichier, ligne)) { std::istringstream buff(ligne); std::string mot; while (std::getline(buff, mot, ' ')) { if (!mot.empty()) { std::cout << """ << mot << """ << std::endl; double f; if (fromString(mot, f)) // Ajout uniquement si réussite de la conversion de string vers double tab.push_back(f); } } } // Lecture du tableau, voir ce qu'est un itérateur for (std::list<double>::const_iterator it = tab.begin(); it != tab.end(); ++it) std::cout << *it << std::endl; fichier.close(); return 0; }
mais je pense le tableau plus simple que une liste car je veux calculer la tang-1
pour chaque float
for (std::list<double>::const_iterator it = tab.begin(); it != tab.end(); ++it) std::cout << tan(*it) << std::endl;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionje sais pas où le problème