Du coup, je rebondit sur tes réponses car je souhaitais suivre le cours pour l'utilisation de QT, je désir faire un pti truc en interface graphique, Du coup aurais tu un autre cours a me conseiller sur Qt ? Comme tu déconseille de suivre le cours d'openclassroom!! Car a mon niveau je ne peux pas vraiment juger pour savoir si un cour vaut le coup..
ceci est le chapitre que je viens de finir et sur lequelle je suis coince.
et je voudrais ameliore le code avec ceci :
Rajoutez des cout dans les autres méthodes de Personnage pour indiquer à chaque fois ce qui est en train de se passer (« machin boit une potion qui lui redonne 20 points de vie »).
Rajoutez d'autres méthodes au gré de votre imagination… et pourquoi pas des attaques magiques qui utilisent du mana ?
Enfin, pour l'instant, le combat est écrit dans le main() mais vous pourriez laisser le joueur choisir les attaques dans la console à l'aide de cin.
mais je ne sais pas comment faire si une personne pouvais m'aide avec quelque indications surtout pour le dernier point avec une petite corection pour que je coprenne .
Bonjour jo_link je débute en programmation et j'ai certains problèmes comme:
Restreindre une variable sur un type précis (faire que la variable ne puisse être qu'un entier par exemple et pas une autre valeur sinon message d'erreur)
Limite le nombre de valeurs pris par un variable (par exemple si je veux qu'une variable a puisse être comprise entre 1 et 5 sinon erreur)
Faire la somme des entiers de 1 à 100 sans la formule n(n+1)/2
Et considérer sans avoir déclarer au préalable une valeur entrer par l'utilisateur comme une variable par exemple j'ai fais un programme qui calcule les matrices 2×2 et 3×3 or je ne peux pas continuer puisque qu'il me faudra déclarer énormément de variables j'ai besoin de ton aide pour terminer ce programme.
Ps: Pour chaque réponse tient compte du fait que je débute encore!
marcNgaba > comme le précise Ksass`Peuk (et iel le précisait même avant ton message), ici c'est pour proposer des exercices et des corrections, pas en demander. Merci de créer ton propre sujet.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
StephaneWamba > comme le précise Ksass`Peuk (et iel le précisait même avant ton message), ici c'est pour proposer des exercices et des corrections, pas en demander. Merci de créer ton propre sujet (et avant ça, cherche sur le net : https://duckduckgo.com/?q=documentation c++).
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Ici c'est pour proposer des exercices et des corrections, pas en demander. Merci de créer ton propre sujet (et avant ça, cherche sur le net : https://duckduckgo.com/?q=documentation c++).
- Edité par Lamecarlate 25 mai 2017 à 20:32:04
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Ok, à partir de maintenant, je supprime les messages demandant de l'aide : ici c'est un sujet pour proposer des exercices. Si vous avez un problème, créez un nouveau sujet, merci d'avance.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Ok, à partir de maintenant, je supprime les messages demandant de l'aide : ici c'est un sujet pour proposer des exercices. Si vous avez un problème, créez un nouveau sujet, merci d'avance.
Mais ce que j'ai ecrit peux etre bien pris comme un exercice je crois en tout cas ce n'est pas un problème
J'ai un exo pour le Topic
--Réaliser un Programme qui calcule le déterminant d'une Matrice carrée dont la taille est entrée par l'utilisateur.
Ex: ---------------------Progreamme de calcul de matrice-------------------------
Entrez la taille la matrice:
//Dès que c'est fait il entre les valeurs des cases du tableau(matrice qui a été dimensionné par la taille entrée premièrement) et le programme trouve et renvoit le déterminant.
Il vaut mieux y aller pas à pas ne serait-ce que pour formaliser comment tu attends que ta matrice soit créée et remplie. Rien que ça, c'est un sujet à part entière.
Sinon, personnellement avec mes élèves/stagiaires/collègues, je commence par "voici l'exo fil rouge, ceci devra compiler et produire les résultats attendus; nous allons commencer par création, remplissage et affichage"
int main()
{
// Création d'une matrice Identité
Matrix id(3,3);
for (size_t i=0; i!=3; ++i)
id(i,i) = 1.0;
std::cout << "Matrice Id " << id.N() << "x" << id.M() << ":\n" << id << "\n";
// Création d'une matrice dont a(i,j) = i+j
Matrix a(3,3);
for (size_t i=0 ; i!=a.N() ; ++i)
for (size_t j=0 ; j!=a.M() ; ++j)
a(i,j) = i+j;
// Affichage de leur somme
std::cout << "\n" << (id + a) << "\n";
return 0;
}
Et là, cela fait obligatoirement travailler : - alloc ou manip vecteur -- et ce qui est nécessaire pour une sémantique de valeur. - surcharge 1 opérateur de flux (op<<) - surcharge 1 opérateur mathématique (op+) -- avec éventuellement (recommandé) son composé (op+=) - surcharges 2 opérateur d'accès (op() et op()) - const-correctness - encapsulation
Cela peut permettre de travailler std::copy et std::fill_n si on impose l'interdiction d'utiliser for() dans le code de la classe matrice.
Le calcul de déterminant, c'est un détail à côté de ça: juste une (double?) boucle à écrire correctement.
La V2 de l'exo, c'est le passage au générique
Dans les formations que je donne, je ne vais jamais au delà de cet aspect. Le reste, c'est du très avancé qui n'a pas grand intérêt en industrie vu l'existence de choses comme Eigen ou Blaze qui savent aussi fonctionner comme des surcouches à la MKL d'Intel.
V3: Utilisation de la sémantique de mouvement pour réduire les créations/destructions -> 4 surcharges de op+
V.perf: écriture efficace d'un point de vue HPC de la multiplication matricielle (typiquement, inversion de boucle, alignement, travail par blocs)
V4: expression templates (ET) pour éliminer complètement les temporaires
V5: et cela se complique avec ET pour réaliser des multiplications matricelles
@lmghs En fait je m'étais déja posé un bon nombre de question concernant cet exercice Je suis arrivé à remplir un tableau à 2D et faire la Verification de la position des valeurs entrées juste en me servant de boucle et d'un tableau. Mais le problème vient du calcul du déterminant il y'a une panoplie de façon d'y arriver mais au niveau de l'implementer en C++ c'est une autre histoire!!! Et le pire c'est quand on ne maîtrise qu'une méthode.
Moi je calcul le déterminant par les cofacteurs de façon manuelle. Et j'aimerais pouvoir reussir à faire ce programme par une méthode non seulement plus simple et plus optimale mais aussi le réaliser avec les bases du C++ ce qui je crois est possible et EN LISANT TON MESSAGE JE VOIS QUE OUI LE DETERMINANT C'EST UNE AFFAIRE DE BOUCLE. je ne crois pas que ce soit aussi compliqué surtout quand on est bien entouré!!
@marcNgaba: si les exo on les propose ici, et si les corrections viennent des semaines plus tard, discussions et résolution se font dans le forum -> cliquer sur "nouveau message" ou équivalent.
Donc, je t'invite à ouvrir une nouvelle discussion et nous montrer ce que tu as déjà fait. Nous pourrons alors t'aider.
Le but de cet exercice est de permettre à un service de location de vélos (online, tournant 24 heures sur 24 ) de facturer ses clients.
1.1 Fichier fournie
#include <iostream>
using namespace std;
int main()
{
cout << "Donnez l'heure de début de la location (un entier) : ";
int debut;
cin >> debut;
cout << "Donnez l'heure de fin de la location (un entier) : ";
int fin;
cin >> fin;
/*****************************************************
* Compléter le code à partir d'ici
*****************************************************/
/*******************************************
* Ne rien modifier après cette ligne.
*******************************************/
return 0;
}
ATTENTION : vous ne devez en aucun cas le début ni la fin du programme fourni, juste ajouter vos propre lignes à l'endroit indiqué. Il est donc impératif de respecter la procédure suivante :
1.-Sauvegarder le fichier sous le nom de location_velos.cc ou location_velos.cpp
3.-Sauvegarder et tester son programme pour etre sur qu'il fonctionne correctement, par exemple avec les valeurs utilisées dans l'exemple de déroulemnt donné plus bas;
1.2 Instruction
Les tarifs de locations sont définis comme suit :
— 1 franc par heure si le vélo est loué entre 0h et 7h ou entre 17h et 24h;
— 2 francs par heure si le vélo est loué entre 7h et 17h.
Votre programme demandera à l’utilisateur de quelle heure à quelle heure se fait la location (code fourni) et calculera le prix de la location en conséquence.
Vous adopterez les simplifications suivantes :
— les heures de début et fin de location sont des entiers (pas de demi ni de quart, toute heure entamée est due);
— l’heure du début de la location est toujours inférieure à l’heure de la fin de la location; cela implique que la location ne peut pas se faire sur plus de 24 heures; elle doit se faire dans la même journée.
Si les données introduites sont correctes, votre programme affichera simplement le coût de la location en respectant strictement les formats donnés dans les exemples de déroulement ci-dessous.
En cas de donnée incorrecte, votre programme devra afficher un message d’erreur et s’arrêter. Utilisez strictement les messages suivants :
— « Les heures doivent être comprises entre 0 et 24 ! » suivi d’un saut de ligne, si une des heures introduites par l’utilisateur n’est pas comprise entre 0 et 24 (inclus);
— « Bizarre, vous n’avez pas loué votre vélo bien longtemps ! » suivi d’un saut de ligne, si les heures de début et fin de location sont identiques;
— et « Bizarre, le début de la location est après la fin ... » suivi d’un saut de ligne si l’heure de début de la location est supérieure à l’heure de fin.
Le code fourni contient des instructions à utiliser telles quelles (en les plaçant aux bons endroits) pour produire les affichages souhaités.
1.3 Exemples de déroulement
Il est impératif que votre code respecte le format de réponse suivant :
1) Exemple où la durée de location implique les deux tarifs :
Donnez l’heure de début de la location (un entier) : 10
Donnez l’heure de fin de la location (un entier) : 19
Vous avez loué votre vélo pendant
2 heure(s) au tarif horaire de 1 franc(s)
7 heure(s) au tarif horaire de 2 franc(s)
Le montant total à payer est de 16 franc(s).
2) Exemple où la durée de location n’implique qu’un seul tarif :
Donnez l’heure de début de la location (un entier) : 18
Donnez l’heure de fin de la location (un entier) : 20
Ca fait très vieil exo de prof recopié tel quel... Il y a des francs (qui à moins d'être Suisses sont un peu désuets), des commentaires qui se servent à rien, des consignes sur comment les fichiers doivent être remplis. Des formats précis d'I/O à respecter, probablement pour que le prof plugge son outil de test et donne une note basée sur le résultat de `grep`.
Je ne cache pas que cela me gêne pas mal. OK pour participer avec des exos, mais ces contraintes n'ont pas leur place, et je ne peux qu'inviter toute réponse à violer volontairement les contraintes imposées pour ne pas permettre à des élèves fainéants de repomper une solution qui n'est pas la leur. Une aide aux exos, ça se mérite.
Equinoxe : Corrigé la typo (Polinômes >>> Polynômes) annoncée par lmghs. Equinoxe : Modifié le format de la difficulté, por éviter qu'elle soit considérée comme une note de "qualité". Equinoxe : Envoyé l'image de difficulté (source) :
Je suis un homme d'affaire qui dirige une société internationale, présente dans plusieurs ville de la plupart des pays de tous les continents. Et il se peut même que j'aie plusieurs succursales dans certaines villes.
Tous les mois, je reçois un listing qui reprend le chiffre d'affaire journalier de toutes les succursales de ma société sous une forme proche de
continent; pays; ville; adresse; jour; montant;
et toutes les entrées de ce listing sont triées
par contient : on trouveras d'abord les succursales d'Afrique, puis celle d'Amérique, suivies de celle d'Antartique, de celles d'Asie, de celles d'Europe pour terminer par celle d'Océanie
par pays : pour chaque continent les pays sont classés par ordre alphabétique
par ville : les succursales de chaque pays sont classées par ordre alphabétique
par succursales : si plusieurs succursales sont présentes dans une même ville, elles seront classées par ordre alphabétique en fonction de leur adresse
par date: on a toutes les chiffres d'affaires du mois courant pour une succursale, classés par ordre chronologique avant de passer à la succursale suivante
Avec une moyenne de 22 jours ouvrés par mois, et donc de 22 lignes par succursales et par mois, et parce que j'ai systématiquement au minimum trois succursales par ville dans laquelle je suis présent, et que je suis systématiquement présent dans minimum dix villes de chaque pays, vous vous doutez bien que ce fichier est tout simplement énorme!
J'ai donc besoin d'un programme qui puisse me calculer le chiffre d'affaire mensuel total de chacune de mes succursales, mais qui puisse également me fournir
le chiffre d'affaire total pour chaque ville dans laquelle j'ai une (ou plusieurs) succursale(s)
le chiffre d'affaire total pour chaque pays
le chiffre d'affaire total pour chaque continent
le chiffre d'affaire total global.
Quelques indices:
Il est utile de garder en mémoire la valeur de l'information que l'on a obtenue lors du "passage précédant" dans chaque boucle
Les boucles étant imbriquées (sous une forme ou une autre), la condition de sortie d'une boucle correspond à un test spécifique de plus que la condition de sortie de la boucle dans laquelle elle est imbriquée
Pour ceux qui connaissent : la représentation sous forme de diagramme Jackson peut aider à "déblayer le terrain"
Amusez vous bien!
Question subsidiaire :
Pourriez vous me classer les continents, les pays, les villes et les succursales en fonction de leur chiffre d'affaire (les plus élevés en premier) ?
- Edité par koala01 19 mai 2018 à 20:14:33
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
vous ne trouvez pas que c'est juste un peu trop facile c'est exercice ?
essayons quelque chose qui demande un peu plus d'imagination ,mais pas trop quand meme.
c'est juste une suggestion.(pas oblige de m'ecouter)
parceque ce que je venais de voir il y avait une grande parti ou il y avait des fonctions complexes(que je ne comprenais pas ) et tout ca c'est quand meme magnifique et j'essaie d'en apprendre grace a ces choses la.
(et pourriez vous me donnez un lien ou plusieurs vers des cours en c++ qui sont sorties cette annes)
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
Voici un exercice sur les catégories de valeurs (lvalue, rvalue), la surcharge de fonction avec les lvalue et rvalue references, et le perfect forwarding. En soi, cette serie d'excercices (a faire dans l'ordre) n'est pas complexe si on a compris ces notions (le code a ecrire faire une dizaine de ligne), mais cela permet justement de vérifier si vous avez compris ces notions.
----------------------------------------
1. Ecrire un code qui permet de "voir" les categories de valeur
Modifies le code suivant, de façon a afficher si la fonction f est appélée avec une lvalue ou une rvalue. Il n'est pas nécessaire d'ajouter d'autres include. Il ne faut pas non plus ajouter d'autres fonction que f. (Mais attention, comme dit dans l'introduction, il peut y avoir des surcharges de cette fonction f).
#include <iostream>
// declaration de f
void f(...) { ... }
int main() {
// appel de f avec une lvalue
f(...);
// appel de f avec une rvalue
f(...);
}
Et il faut que ce code affiche :
f a ete appele avec une lvalue
f a ete appele avec une rvalue
2. La transmission
Modifies le code de facon a ce que f soit appellé via une fonction g (sans modifier le code de f, et en remplaçant uniquement f par g dans main)
#include <iostream>
// declaration de f
void f(...) { ... }
// declaration de g
void g(...) { f(...); }
int main() {
// appel de g avec une lvalue
g(...);
// appel de g avec une rvalue
g(...);
}
Quel est le problème dans ce qui est affiché ?
3. Perfect forwarding
Corriger le code en utilisant le perfect forwarding de façon a afficher le résultat attendu.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
KJ
Discord NaN. Mon site.