- Exécuteurs
-
Apprendre
Apprendre Python Exemples exécutables, NumPy, pandas et plus Apprendre l'IARéseaux de neurones, ML et LLM de zéro Apprendre le C et le C++ Pointeurs, mémoire, STL et C++ moderne Apprendre le C#Bases, POO, LINQ, async et exercices .NET Algorithmes Python Recherche, tri, récursivité et visualisations O(n) Algorithmes C et C++ Comparer les implémentations en C et C++
- DéfisNouveau
Le patron builder construit un objet complexe étape par étape et produit le résultat final à la fin, afin que les appelants puissent définir les parties dans n’importe quel ordre.
Chaque partie est un mot-clé, un espace, puis son texte :
select <columns>: noms de colonnes séparés par des virgules (les espaces autour des virgules peuvent varier). Facultatif ; la valeur par défaut est*.from <table>: obligatoire.where <condition>,order <columns>,limit <n>: facultatifs.
Si un mot-clé apparaît plus d’une fois, seul le dernier compte. Construisez la requête dans cet ordre fixe, avec des espaces simples :
SELECT <columns> FROM <table>[ WHERE <condition>][ ORDER BY <columns>][ LIMIT <n>]
Dans la liste SELECT, supprimez les espaces de chaque colonne et joignez-les avec , . Tous les autres textes sont copiés sans modification.
Implémentez query_builder(parts).
Entrée
parts: Les parties, dans n’importe quel ordre.
Sortie
Retournez la chaîne de requête SQL.
Contraintes
1 ≤ nombre de parties ≤ 20
Au moins une partie from ; chaque partie a au plus 100 caractères
Exemples
Exemple 1
Entrée :
parts = ["where age \u003e 18", "from users", "select name,age"]
Sortie attendue :
"SELECT name, age FROM users WHERE age \u003e 18"
Explication
Les parties arrivent dans le désordre, mais la requête est toujours construite comme SELECT … FROM … WHERE … : "SELECT name, age FROM users WHERE age > 18".
Exemple 2
Entrée :
parts = ["from orders", "limit 10", "order total DESC"]
Sortie attendue :
"SELECT * FROM orders ORDER BY total DESC LIMIT 10"
Explication
Sans partie select, les colonnes prennent la valeur par défaut * : "SELECT * FROM orders ORDER BY total DESC LIMIT 10".
Références
-
Exemple 1 Non exécutéEntrée :
parts = ["where age \u003e 18", "from users", "select name,age"]Sortie attendue :"SELECT name, age FROM users WHERE age \u003e 18"Votre sortie -
Exemple 2 Non exécutéEntrée :
parts = ["from orders", "limit 10", "order total DESC"]Sortie attendue :"SELECT * FROM orders ORDER BY total DESC LIMIT 10"Votre sortie
4 tests cachés seront aussi exécutés lors de la soumission.
Compilateur et débogueur C++ en ligne
Compilez et déboguez C++ avec points d'arrêt, variables et exécution pas à pas GDB en mode Serveur.
🚀 2,393,683 exécutions totales (1,309 ce mois-ci)
Pratiquez C++ avec des défis de code
Résolvez des problèmes concrets dans cet éditeur : lancez les tests, soumettez et recevez une relecture IA.
Apprendre et pratiquer C/C++
Suivez un parcours avec des leçons exécutables, puis testez-vous avec des défis de code.
💻 À propos de cet exécuteur C++ en ligne
Le CodeUtility C++ Executor vous permet d’écrire et d’exécuter du code C++ directement dans votre navigateur - aucune installation ni configuration de compilateur requise. Il s’appuie sur un bac à sable sécurisé qui prend en charge les standards C++ de C++11, C++14, C++17, jusqu’à la dernière version.
Cet outil utilise un véritable compilateur C++ fonctionnant dans le cloud pour compiler et exécuter votre code, garantissant un comportement précis et cohérent entre les versions. Vous pouvez expérimenter librement les concepts C++ de base comme les variables, fonctions, boucles, conditions et la programmation orientée objet.
Que vous prépariez des entretiens, appreniez les fonctionnalités modernes de C++, ou vérifiiez la logique d’un algorithme, le CodeUtility C++ Executor offre un environnement simple mais puissant pour exécuter du code instantanément depuis n’importe quel appareil.
Bien plus qu’un exécuteur de code
Utilisez depuis le même exécuteur un éditeur multifichier, un terminal d’exécution isolé, des bibliothèques propres à chaque environnement, des espaces de travail persistants, le partage et la collaboration en temps réel.
Comment utiliser cet exécuteur ?
Choisissez un environnement d’exécution, ouvrez ou créez un fichier, écrivez votre code, puis sélectionnez Exécuter. La sortie s’affiche dans le terminal ; les utilisateurs connectés peuvent conserver leurs fichiers dans un espace de travail, installer des bibliothèques et collaborer grâce aux partages.
- Sélectionnez une version et modifiez le fichier actuel, ou ouvrez un autre fichier de l’espace de travail.
- Exécutez le code, saisissez les données demandées dans le terminal et consultez l’historique des exécutions enregistrées.
- Utilisez les bibliothèques, les outils de l’espace de travail, le partage et le chat lorsque votre tâche nécessite plusieurs extraits de code.
💡 Notions de base C++ et exemples à essayer ci‑dessus
1. Déclarer des variables et des constantes
C++ vous demande de déclarer le type de chaque variable. Utilisez const pour définir des valeurs en lecture seule qui ne peuvent pas être modifiées après l’initialisation.
int age = 30;
double pi = 3.14159;
char grade = 'A';
std::string name = "Alice";
bool isActive = true;
// Constantes
const int MAX_USERS = 100;
const std::string COMPANY = "CodeUtility";
// Tenter de modifier un const provoquera une erreur à la compilation
// MAX_USERS = 200; // ❌ erreur
2. Conditions (if / switch)
Utilisez if, else if, else pour faire des branches. Utilisez switch pour tester plusieurs valeurs.
int x = 2;
if (x == 1) {
std::cout << "Un\n";
} else if (x == 2) {
std::cout << "Deux\n";
} else {
std::cout << "Autre\n";
}
// Switch-case
switch (x) {
case 1:
std::cout << "Un\n";
break;
case 2:
std::cout << "Deux\n";
break;
default:
std::cout << "Autre\n";
}
3. Boucles
Utilisez for, while et do-while pour répéter des blocs de code.
for (int i = 0; i < 3; i++) {
std::cout << i << "\n";
}
int n = 3;
while (n > 0) {
std::cout << n << "\n";
n--;
}
4. Tableaux
Les tableaux stockent plusieurs éléments du même type.
int numbers[3] = {10, 20, 30};
std::cout << numbers[1] << "\n";
5. Manipulation de tableaux/vecteurs
Utilisez std::vector pour des tableaux dynamiques.
#include <vector>
std::vector nums = {1, 2, 3};
nums.push_back(4);
nums.pop_back();
for (int n : nums) {
std::cout << n << " ";
}
6. Entrée/Sortie console
Utilisez std::cin pour l’entrée et std::cout pour la sortie.
std::string name;
std::cout << "Entrez votre nom : ";
std::cin >> name;
std::cout << "Bonjour, " << name << "\n";
7. Fonctions
Les fonctions regroupent une logique réutilisable. Utilisez des paramètres et des types de retour.
int add(int a, int b) {
return a + b;
}
std::cout << add(3, 4);
8. Maps
std::map stocke des paires clé‑valeur comme un dictionnaire.
#include <map>
std::map ages;
ages["Alice"] = 30;
std::cout << ages["Alice"];
9. Gestion des exceptions
Utilisez try et catch pour gérer les erreurs d’exécution.
try {
throw std::runtime_error("Une erreur s'est produite");
} catch (const std::exception& e) {
std::cout << e.what();
}
10. Entrée/Sortie de fichiers
Utilisez fstream pour lire et écrire des fichiers.
#include <fstream>
std::ofstream out("file.txt");
out << "Bonjour fichier";
out.close();
std::ifstream in("file.txt");
std::string line;
getline(in, line);
std::cout << line;
in.close();
11. Manipulation de chaînes
Les chaînes C++ prennent en charge des méthodes comme length(), substr() et find().
std::string text = "Bonjour le monde";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("monde");
12. Classes et objets
C++ prend en charge la programmation orientée objet avec des classes.
class Person {
public:
std::string name;
Person(std::string n) : name(n) {}
void greet() { std::cout << "Salut, je suis " << name; }
};
Person p("Alice");
p.greet();
13. Pointeurs
Un pointeur stocke l’adresse mémoire d’une autre variable. Utilisez & pour obtenir une adresse,
et * pour déréférencer (accéder à la valeur à cette adresse).
int x = 10;
int* ptr = &x;
std::cout << "Valeur de x : " << x << "\n";
std::cout << "Adresse de x : " << ptr << "\n";
std::cout << "Valeur via le pointeur : " << *ptr << "\n";
// Modifier x via le pointeur
*ptr = 20;
std::cout << "x mis à jour : " << x << "\n";
🐞 Comment déboguer du code %{language} en ligne
Le débogueur %{language} en ligne recherche les erreurs d'exécution et de logique sans compilateur local ni IDE. Le mode Serveur compile avec les symboles de débogage et exécute le programme sous GDB.
- Ajoutez des points d'arrêt à côté des numéros de ligne.
- Sélectionnez Déboguer pour compiler et vous arrêter au premier point correspondant.
- Examinez la ligne, la pile d'appels et les variables.
- Utilisez Continuer, Pas à pas principal, Pas à pas détaillé ou Pas à pas sortant.
- Sélectionnez Arrêter pour terminer la session.
Commencez par un exemple minimal reproductible et placez un point d'arrêt juste avant le comportement inattendu.