Erreurs en c++
Hors ligneSahda Le 11/12/2018 à 16:21 Profil de Sahda Configuration de Sahda

Bonjour, je débute en c++ et je ne parviens pas à corriger les erreurs de mon code. Merci à tous pour votre aide! Voici mon code :

#include /** @file **/ #include #include #include #include using namespace std; /** Construction d'un tableau d'entiers lu depuis un fichier * On suppose que le fichier contient sur chaque ligne un numéro de mois * suivi d'une donnée correspondant au mois. * @param nom_fichier, le nom du fichier de données * @return un tableau d'entiers de taille 12 tel que dans chaque * case d'indice i, on trouve la donnée du mois i **/ vector litTableauMois("donnees/volumes_d_eau_distribues.txt") { ifstream fichierMois("donnes/volumes_d_eau_distribues.txt") ; int volumeDeau ; int moisDeau ; vector volumeDeauTab ; vector moisDeauTab ; while (fichierMois >> moisDeau and fichierMois >> volumeDeau) { volumeDeauTab.push_back(volumeDeau) ; moisDeauTab.push_back(moisDeau) ; } vector t ; t = vector (12) ; for (int i = 0 ; i < t.size() ; i++) { t[moisdeautab[i]-1] volumedeautab[i] i] ; } return t ; } /** test de la fonction littableaumois **/ void testlittableaumois () { assert(t[0] 16231200); 0); // le volume pour janvier assert(t[11] 15530100); 0); // le volume pour décembre assert(t[4] 17711200); 0); //le volume pour mai } /** renvoie la somme d'un tableau d'entiers * @param t, un tableau d'entier * @return la somme des valeurs **/ int somme(vector t) { int sommetab 0 0 ; for (int i 0 0 ; i < t.size () ; i ++) { sommetab sommetab ab + t[i] ; } return sommetab ; } /** test de la fonction somme **/ void testsomme() { assert(somme({1,2,3}) 6); 6); assert(somme({}) 0); 0); assert(somme({2,2,4,8}) 16); 6); } /** renvoie la moyenne d'un tableau d'entier * @param t, un tableau d'entiers * @return la moyenne (entière) des valeurs **/ int moyenne(vector t) { int moyennetab somme me (t)/t.size() ; return moyennetab ; } /** test de la fonction moyenne **/ void testmoyenne() { assert(moyenne({1,2,3}) 2); 2); assert(moyenne({1}) 1); 1); assert(moyenne({2,2,4,8}) 4); 4); } /** renvoie l'indice de la valeur maximale du tableau * @param t, un tableau d'entier * @return l'indice de la valeur maximale ou -1 si le tableau est vide **/ int indicemax(vector t) { if (t.size() m) ; m t[i] i] ; indicem i i ; return indicem ; } /** test de la fonction indicemax **/ void testindicemax() { assert(indicemax({}) -1); 1); assert(indicemax({1,2,3}) 2); 2); assert(indicemax({1,3,2}) 1); 1); assert(indicemax({1}) 0); 0); assert(indicemax({2,8,4,4}) 1); 1); } /** lance les fonctions de test puis affiche : * - le volume d'eau total sur l'année * - la moyenne par mois * - le mois avec le plus gros volume d'eau et son volume **/ int main() { vector t littableaumois("donnees/volumes_d_eau_distribues.txt") ") ; for (int i 0 0 ; i < t.size() ; i++) { cout>

Hors ligneMalopigalle Le 14/01/2019 à 10:57 Profil de Malopigalle Configuration de Malopigalle

Je n'ai jamais rien compris au C++.. Même avec l'aide de CodeBlocks ahah

Hors ligneNateliv Le 09/12/2019 à 18:47 Profil de Nateliv Configuration de Nateliv

Pour être plus précis, i++ renverra l'ancienne valeur de i à l'opérateur =, tandis que i sera incrémenté on ne sait pas quand… On ne sait pas si ce sera avant l'assignation (auquel cas la valeur finale de i sera inchangée) ou après (i sera finalement incrémenté), car il n'y a pas de point de séquence à l'opérateur d'assignement.

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels