👤

am și eu nevoie de rezolvare și explicație la pb cu șiruri de caractere. Mulțumesc! ​

Am Și Eu Nevoie De Rezolvare Și Explicație La Pb Cu Șiruri De Caractere Mulțumesc class=

Răspuns :

Răspuns:

#include <iostream>

#include <cstring>

using namespace std;

char fraza1[101], fraza2[101];

short n1, n2, i, vf1[30],vf2[30];

int main()

{

   cin.getline(fraza1,101);

   n1=strlen(fraza1);

   for (i=0; i<n1; ++i)

       if (fraza1[i]>='a' and fraza1[i]<='z') ++vf1[(int)fraza1[i]-97];

   cin.getline(fraza2,101);

   n2=strlen(fraza2);

   for (i=0; i<n2; ++i)

       if (fraza2[i]>='a' && fraza2[i]<='z') ++vf2[(int)fraza2[i]-97];

   short ok=1;

   for (i=0; i<30; ++i)

   {

       if (vf1[i]!=vf2[i]) { ok=0; break; }

   }

   if (ok) cout << "DA";

   else cout << "NU";

}

Explicație:

am completat vectori de frecventă a literelor din fraze şi verificare că au aceleaşi frecvenţe