Vous êtes sur la page 1sur 2

#include <iostream>

#include <string>

#include <unordered_map>

// Fonction pour calculer le nombre mystique d'un mot ou d'une phrase en arabe

int calculerNombreMystique(const std::string& texte) {

// Table de correspondance entre les lettres et les nombres mystiques

std::unordered_map<char, int> mystique = {

{'1 ,'‫}ا‬, {'2 ,'‫}ب‬, {'3 ,'‫}ت‬, {'4 ,'‫}ث‬, {'5 ,'‫}ج‬, {'6 ,'‫}ح‬, {'7 ,'‫}خ‬, {'8 ,'‫}د‬, {'9 ,'‫}ذ‬,

{'200 ,'‫}ر‬, {'700 ,'‫}ز‬, {'60 ,'‫}س‬, {'300 ,'‫}ش‬, {'90 ,'‫}ص‬, {'800 ,'‫}ض‬, {'9 ,'‫}ط‬, {'900 ,'‫}ظ‬,

{'70 ,'‫}ع‬, {'1000 ,'‫}غ‬, {'80 ,'‫}ف‬, {'100 ,'‫}ق‬, {'20 ,'‫}ك‬, {'30 ,'‫}ل‬, {'40 ,'‫}م‬, {'50 ,'‫}ن‬,

{'5 ,'‫}ه‬, {'6 ,'‫}و‬, {'10 ,'‫}ي‬

};

int somme = 0;

for (char c : texte) {

// Conversion des lettres en minuscules pour la recherche

if (c >= 'A' && c <= 'Z') {

c += 'a' - 'A';

if (mystique.find(c) != mystique.end()) {

somme += mystique[c];

return somme;

int main() {

// Demander à l'utilisateur de saisir un mot ou une phrase en arabe

std::string texte;
std::cout << "Entrez un mot ou une phrase en arabe : ";

std::getline(std::cin, texte);

// Calculer le nombre mystique du texte saisi

int nombreMystique = calculerNombreMystique(texte);

// Afficher le nombre mystique calculé

std::cout << "Le nombre mystique du texte est : " << nombreMystique << std::endl;

return 0;

Vous aimerez peut-être aussi