Witam ,mam problem z zadaniem ze spoja,może ktoś widzi błąd>
Twoim zadaniem jest napisać prosty program, który będzie zliczać anagramy danego wyrazu.
Wejście
W pierwszej linii jeden wyraz oraz liczba n (1 ≤ n ≤ 1000) oznaczająca liczbę wyrazów do sprawdzenia.
Każda z kolejnych n linii zawiera jeden wyraz do sprawdzenia.
Wszystkie wyrazy złożone są jedynie z małych liter angielskiego alfabetu, a ich długość nie przekracza 1000 znaków.
Wyjście
Liczba anagramów pierwszego wyrazu wśród n sprawdzanych wyrazów.
Przykład
Wejście:
algorytm 4
samolot
logarytm
rytmolgi
morgatyl
Wyjście:
2
oto mój kod
#include <iostream>
using namespace std;
bool czy_anagram(string s1,string s2)
{
if(s1.size()!=s2.size())return false;
for(int i=0;i<s1.size()-1;i++)
{
for(int j=0;j<s2.size()-1;j++)
{
if(s1[j]>s1[j+1])swap(s1[j],s1[j+1]);
if(s2[j]>s2[j+1])swap(s2[j],s2[j+1]);
}
}
return s1==s2;
}
int main()
{
string z;
int ile=0;
cin>>z;
int n;
cin>>n;
string m[n];
for(int i=0;i<n;i++)
{
cin>>m[i];
}
for(int i=0;i<n;i++)
{
if(czy_anagram(z,m[i]))ile++;
}
cout<<ile<<endl;
return 0;
}
dla przykładu działa poprawnie,więc nwm dlaczego nie chce zatwierdzić>>