Informatică, întrebare adresată de stefanyatagan, 8 ani în urmă

Va rog,e urgent!Problema informatica​

Anexe:

Răspunsuri la întrebare

Răspuns de VxF
1

Răspuns:

#include <iostream>

#include <map>

int main()

{

   std::map<char, char> hartaPrieteni;

   std::string cuvant;

   std::string listaVocale = "aeiou";

   std::cout << "Cuvânt: ";

   std::cin >> cuvant;

   // construim lista perechilor de prieteni consoană => vocală

   char vocala;

   for (char c = 'a'; c <= 'z'; c++) {

       if (listaVocale.find(c) == std::string::npos) { // consoană

           hartaPrieteni[c] = vocala;

       } else { // vocală

           vocala = c;

       }

   }

   // facem înlocuirile pe baza perechilor din lista construită

   for (int i = 0; i < cuvant.size(); i++) {

       if (hartaPrieteni.count(cuvant[i])) {

           cuvant[i] = hartaPrieteni[cuvant[i]];

       }

   }

   std::cout << "Codificat: " << cuvant << std::endl;

}

Explicație:

Cel mai eficient este să folosești o listă de perechi pre-generată. Pentru asta clasa container dedicată din C++ este std::map.

Alte întrebări interesante