Dwa wyrazy nazywamy anagramami jesli drugi mozna otrzymac
z pierwszego przez przestawienie kolejnosci liter, na przykład „kanonada”
i „anakonda”, „sekret” i „kretes”. Napisz funkcje która sprawdza, czy dane dwa
łancuchy sa anagramami. Oszacuj jej złozonosc obliczeniowa.
moze ktoś pomóc?!
[C] anagram
-
- Użytkownik
- Posty: 74
- Rejestracja: 3 cze 2009, o 09:14
- Płeć: Mężczyzna
- Podziękował: 3 razy
-
- Użytkownik
- Posty: 941
- Rejestracja: 17 gru 2007, o 21:48
- Płeć: Mężczyzna
- Lokalizacja: Kingdom Hearts
- Podziękował: 6 razy
- Pomógł: 222 razy
[C] anagram
sortowanie leksykograficzne. Napisz sobie funkcję, która posortuje Ci tablicę znaków (w C++ jest już gotowa ). Jeśli posortowane tablice obu słów mają identyczną zawartość, to oba słowa to anagramy.
Ew. możesz napisać (będzie łatwiej) dla każdego ze słów.
Ew. możesz napisać (będzie łatwiej) dla każdego ze słów.
-
- Użytkownik
- Posty: 74
- Rejestracja: 3 cze 2009, o 09:14
- Płeć: Mężczyzna
- Podziękował: 3 razy
- kadiii
- Użytkownik
- Posty: 642
- Rejestracja: 20 gru 2005, o 21:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Pomógł: 130 razy
[C] anagram
Masz stały, dość mały alfabet wejściowy, więć możesz posortować w liniowej złożoności tablicę znaków - zwiększająć przy każdej literce wartość tablicy o indeksie kodu ascii tej literki (pomniejszonym o jakąś stałą tak żeby a wyszło jako tab[0]). Potem porównujesz literka po literce i masz wynik czy jest anagramem czy nie.
Kod: Zaznacz cały
int k=0;
for(i=0;i<slowo.length();i++)
tab[slowo[i]-97]++;
for(i=0;i<25;i++)
if(tab[i]!=0)
for(j=0;j<tab[i];j++)
slowo[k++]=i+97;
-
- Użytkownik
- Posty: 1
- Rejestracja: 30 gru 2009, o 13:28
- Płeć: Mężczyzna
- Lokalizacja: ---
[C] anagram
Hej. Podepnę się pod temat.
Mam podobny problem z tym, że mam do porównania 2 tablice 1-wymiarowe.
W jaki sposób wypadałoby to zapisać w schemacie? Najpierw posortować jedną, później drugą i porównać?? Tylko w jaki sposób? Jestem już kompletnie zielony... A później jeszcze do C, ale myślę, że z tym byłoby trochę łatwiej.
Mam podobny problem z tym, że mam do porównania 2 tablice 1-wymiarowe.
W jaki sposób wypadałoby to zapisać w schemacie? Najpierw posortować jedną, później drugą i porównać?? Tylko w jaki sposób? Jestem już kompletnie zielony... A później jeszcze do C, ale myślę, że z tym byłoby trochę łatwiej.
-
- Użytkownik
- Posty: 231
- Rejestracja: 13 gru 2009, o 01:27
- Płeć: Mężczyzna
- Lokalizacja: Zbąszynek
- Pomógł: 41 razy
[C] anagram
Kod: Zaznacz cały
equal=1
for (i=0; i<n;i++)
if (t[i] != t2[i]) equal = 0