#include <iostream> #include <vector> #include <deque> #include <string> using namespace std; int testerVector(); int testerDeque(); int main() { string choix("pour l'instant rien"); cout << "Entrer le tableau dynamique à tester >> "; cin >> choix; if (choix == "vector") { cout << "Démarrge du test du vector." << endl << endl; return testerVector(); } if (choix == "deque") { cout << "Démarrge du test de la deque." << endl << endl; return testerDeque(); } if (choix == "lucien") { deque<int> tabl(0); tabl.push_back(44); tabl.push_back(88); tabl.push_front(22); cout << tabl.back() << endl; cout << "Taille 1: " << tabl.size() << endl; tabl.pop_front(); cout << "Taille 2: " << tabl.size() << endl; cout << tabl.empty() << endl; tabl.clear(); cout << tabl.empty() << endl; return 0; } cout << "Commande non-reconnue. Fermeture du programme." << endl; return 0; } int testerVector() { cout << "Voci un tableau nommé ''vector'', avec un petit bonus à la fin. ;-)" << endl; //[1] Création du vector vector<int> ralonge; //[2] On remplit ! string choix; int ajout; bool done; do { cout<<"Entrez une valeur à ajouter >> "; cin>>ajout; ralonge.push_back(ajout); cout<<"Voulez vous ajouter une autre valeur ? (o/O/oui/Oui ou alors n/N/non/Non) >> "; cin>>choix; if (choix=="n"||choix=="N"||choix=="non"||choix=="Non") done=true; else if (choix=="o"||choix=="O"||choix=="oui"||choix=="Oui") done=false; cout<< endl << endl; }while (done == false); //[3] Résultats int total(0); int comparant(ralonge.size()); for (int i(0); i<comparant ; i++) { cout<<ralonge[i]<<" est la valeur de la "<<i+1<<"eme case."<<endl; total+=ralonge[i]; } cout << "La moyenne est "<<total/comparant<<" !!! Merci qui ?"<<endl; return 0; } int testerDeque() { cout << "Voci un tableau nommé ''deque'', avec un petit bonus à la fin. XD" << endl; //[1] Création du tabl deque<float*> dobleQu; for (int i(0); i<5; i++) dobleQu.push_back(new float(-2.5)); //[2] On remplit ! string choix; float ajout; bool done; do { cout<<"Entrez une valeur à ajouter >> "; cin>>ajout; if (dobleQu.back()!=0) delete dobleQu.back(); dobleQu.pop_back(); dobleQu.push_front(new float(ajout)); cout << endl; for (unsigned int i(0); i<dobleQu.size(); i++) { cout<<dobleQu[i]<<" RAM case address"<<endl; } cout << endl; cout<<"Voulez vous ajouter une autre valeur ? (o/O/oui/Oui ou alors n/N/non/Non) >> "; cin>>choix; if (choix=="n"||choix=="N"||choix=="non"||choix=="Non") done=true; else if (choix=="o"||choix=="O"||choix=="oui"||choix=="Oui") done=false; cout<< endl << endl; }while (done == false); //[3] Résultats for (unsigned int i(0); i<dobleQu.size(); i++) { cout<<*dobleQu[i]<<" est la valeur de la "<<i+1<<"eme case."<<endl; } //[4] On vide ce tas de pointeurs !!! while (!dobleQu.empty()) { if (dobleQu.back()!=0) delete dobleQu.back(); dobleQu.pop_back(); } return 0; }