Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21996

spoj-anagramy

$
0
0

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ć>>


Viewing all articles
Browse latest Browse all 21996

Latest Images

Trending Articles