rendered paste body#include <iostream>#include <vector>#include <string>using namespace std;// Accio que dibuixa la forcavoid dibuxa_forca(string paraula, const vector<bool>& abc, int errors) { cout << " "; for (int i = 0; i < paraula.size(); ++i) { int n = paraula[i] - 'A'; if (abc[n]) cout << paraula[i]; else cout << "*"; } cout << endl << " +----+" << endl; // Primera linia cout << " |/"; if (errors >= 1) cout << " |"; cout << endl; // Segona linia cout << " |"; if (errors >= 1) cout << " O"; cout << endl; // Tercera linia cout << " |"; if (errors >= 2) cout << " /|\\"; cout << endl; // Cuarta linia cout << " |"; if (errors >= 3) cout << " / \\"; cout << endl; // Base cout << "-+-" << endl; }// Funcio que compta el nombre de lletres diferents d'una paraulaint nombre_lletres(string paraula) { vector<bool> abecedari(26, false); for (int i = 0; i < paraula.size(); ++i) { int n = paraula[i] - 'A'; abecedari[n] = true; } int res = 0; for (int i = 0; i < 26; ++i) if (abecedari[i]) ++res; return res;}// Funcio que diu si una lletra es troba dins d'una paraulabool hi_es(string paraula, char x) { for (int i = 0; i < paraula.size(); ++i) { if (paraula[i] == x) return true; } return false;}int main() { string paraula; cin >> paraula; int errors = 0; // Contador d'errors int correctes = 0; // Contador d'acerts vector<bool> abecedari(26, false); dibuxa_forca(paraula, abecedari, errors); cout << endl; while (errors < 3 and correctes < nombre_lletres(paraula)) { char x; cin >> x; if (not abecedari[x - 'A']) { abecedari[x - 'A'] = true; if (hi_es(paraula,x)) ++correctes; else ++errors; } else ++errors; dibuxa_forca(paraula, abecedari, errors); cout << endl; } cout << " FINAL" << endl;}