Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace zad4
- {
- /*
- * Stwórz funkcję bool CzyAnagram(string napis1, string napis2) , która sprawdza, czy tekst napis1 jest anagramem tekstu napis2,
- * ignorując wielkość liter (np. gniady to anagram dla Gdynia).
- * Należy zaimplementować własny algorytm, nie korzystając z funkcji klasy string (np. Split, Contains, etc.).
- * W tekście znajdują się tylko litery.
- */
- class Program
- {
- static string ZamianaNaMale(string tekst)
- {
- string male = "";
- for (int i = 0; i < tekst.Length; i++)
- {
- if (tekst[i] >= 'A' && tekst[i] <= 'Z')
- male += Convert.ToChar(tekst[i] + ('a' - 'A'));
- else male += tekst[i];
- } return male;
- }
- static string SortujAlfabetycznie(string tekst)
- { // zamieniamy na male
- string male = ZamianaNaMale(tekst);
- // tworzymy tablicę znaków itp.
- char[] znaki = new char[male.Length];
- // tymczasowy znak jakiś tam
- char tmp;
- // przypisujemy elementy string male do tablicy znakow
- string zwracany="";
- for (int i = 0; i < male.Length; i++)
- {
- znaki[i] = male[i];
- }
- // dwie pętle żeby jechała p owszystkich elementach muszą być i algorytm zamiany jest
- for (int j = 0; j < znaki.Length; j++)
- {
- for (int i = 0; i < znaki.Length - 1; i++)
- {
- if (znaki[i] > znaki[i + 1])
- {
- tmp = znaki[i];
- znaki[i] = znaki[i + 1];
- znaki[i + 1] = tmp;
- }
- }
- }
- for (int i = 0; i < znaki.Length; i++)
- {
- zwracany += znaki[i];
- }
- return zwracany;
- }
- static bool CzyAnagram(string napis1, string napis2)
- {
- string pierwszyWyraz = SortujAlfabetycznie(napis1);
- string drugiWyraz = SortujAlfabetycznie(napis2);
- return pierwszyWyraz == drugiWyraz;
- }
- static void Main(string[] args)
- {
- // Console.WriteLine(SortujAlfabetycznie("DBA"));
- Console.WriteLine(CzyAnagram("bda","dabi"));
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement