Advertisement
Nita_Cristian

aritate

Feb 22nd, 2020
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. ifstream fin("test.in");
  6.  
  7. string s;
  8.     map<char, int> m;
  9.  
  10.  
  11. void rezolvare(int& i)
  12. {
  13.     cout << s[i]; /// afisez litera indiferent daca e functie sau variabila
  14.     int aritate = m[s[i]]; /// ii obtin aritatea daca e functie
  15.     i++;/// trec la urmatoarea litera
  16.     if(aritate) /// daca litera e functie
  17.     {
  18.         cout << '('; /// afisez acolada
  19.         for(int j = 1; j < aritate; j++) /// ii parcurg toate variabilele in afara de ultima
  20.         {
  21.             rezolvare(i); /// parcurg litera
  22.             cout << ','; /// pun ,
  23.         }
  24.         rezolvare(i); /// parcurg si ultima litera
  25.         cout << ')'; /// pun paranteza dupa ea
  26.     }
  27. }
  28.  
  29. int main()
  30. {
  31.     int i = 0, a;
  32.     char f;
  33.  
  34.     getline(fin, s);
  35.     while(fin >> f >> a)
  36.     {
  37.         m[f] = a;
  38.     }
  39.  
  40.     rezolvare(i);
  41.     return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement