Verificare daca doua cuvinte sunt anagrame – siruri de caractere C++

Sa se verifice daca doua cuvinte citite de la tastatura sunt anagrame. Doua cuvinte sunt anagrame daca ele contin aceleasi caractere, dar intr-o ordine diferita. Ex : ‘informatica’ si ‘romaticafin’. Pentru aceasta, am sortat cele 2 cuvinte si le-am comparat cu functia strcmp.

Exemplu:

Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂

3 Comments

    1. Salut! Trebuie sa declari un vector sa zicem frecv[25] (presupunem ca nu avem decat
      litere mici ale alfabetului englez). Dupa care, parcurgi primul cuvant litera cu litera
      si la fiecare iteratie faci frecv[a[i] – ‘a’]++. Acum in vectorul frecv[] o sa ai frecventele din primul cuvant. In continuare, parcurgi al doilea cuvant si faci frecv[b[i] – ‘a’]– (scazi
      frecventele). La sfarsit nu trebuie decat sa parcurgi vectorul frecventa. Daca vreun
      element e diferit de 0, atunci cuvintele nu sunt anagrame.

      6

      Reply

  1. Mi se pare extrem de ineficient sa sortezi literele cuvintelor in ordine alfabetica si sa compari la final cuvintele date. Problema se poate rezolva mult mai eficient.

    2

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *