Intro au C++
Compilation
S’assurer que son environnement de développement fonctionne, compiler et executer le code suivant:
#include <iostream>
#include <string>
int main()
{
std::cout << "Hello world !" << std::endl;
return 0;
}Entrées/Sorties
Remplacer l'utilisation de printf et scanf par std::cout et std::cin
- Créer des variables de différents types et afficher leurs valeurs dans la console avec
std::coutintfloatchar
- Demander à l’utilisateur de rentrer des valeurs pour les affecter à ces différents types de variables avec
std::cin
Conteneurs
Array
- Créer un tableau statique d’entiers avec
std::array, et demander a l’utilisateur de remplir les valeurs pour chacun de ses elements. - Copier ce tableau, modifier les valeurs d’un des deux tableaux et s’assurer que les deux tableaux sont bien différents.
- Créer une fonction qui prend en paramètre un tableau
std::arrayet qui affiche ses valeurs. Cette fonction doit être optimisée et ne doit pas pouvoir modifier les valeurs du tableau.
String
- Créer une chaine de caractère initialisée à
"ZDJSIJ2393D" - Supprimer les deux derniers caractères
- Ajouter le caractère
'Y'à la fin - Supprimer tous les caractères
- Ajouter le caractère
'B' - Afficher la chaine de caractère
Vector
- Créer une liste dynamique de chaines de caractères avec
std::vector. - Ajouter quatre chaines de caractères à celle-ci
- Afficher toutes les chaines de caractères et la taille de la liste
- Supprimer la dernière chaine de caractères
- Vider toute la liste
Itérateurs
Reprendre l'exercice precedent sur les vecteurs de chaines de caractères.
- Pour afficher la liste de chaines de caractères, utiliser des itérateurs pour parcourir la liste au lieu d’un simple
foravec un index.
Avant de vider la liste:
- Inverser la liste
- Supprimer le deuxieme element de la liste
- Trier la liste par ordre alphabétique
Algorithmes
Search string
Ecrire une fonction qui prend deux chaines de caractères en entrée et retourne vrai si la première contient la deuxième (utiliser une fonction existante de la librairie standard)
Fait maison
Réimplementer certaines fonctions fournies par la librairie standard:
find(iterator_debut, iterator_fin, search)count(iterator_debut, iterator_fin, search)compare(string1, string2)
Vous pouvez vous réferer à la documentation officielle pour connaitre le fonctionnement de ces fonctions: https://en.cppreference.com/w/cpp/algorithm
Les pointeurs
References
Ecrire une fonction qui inverse les données de deux variables avec l’utilisation de variables passées par réference (&)
Allocations
Demander à l’utilisateur une taille et allouer un tableau d’entier de cette taille avec new puis liberer la mémoire pour ce tableau
Polymorphisme
Surcharge
Créer deux fonctions carre qui retourneront le carré d’un nombre. L’une d’elle prendra et retournera des entiers, l’autre des nombres flottants.
Templates
Créer une fonction générique max qui prendra deux variables et qui retournera la plus grande des deux. Le type de ces variables sera défini lors de l’appel de la fonction.