İki Dizinin Birbirinin Anagramı Olup Olmadığı Nasıl Kontrol Edilir?

İki Dizinin Birbirinin Anagramı Olup Olmadığı Nasıl Kontrol Edilir?

Anagram, farklı bir dizenin harflerinin yeniden düzenlenmesiyle oluşturulan bir dizedir. İki dizenin birbirinin anagramı olup olmadığını kontrol etmek kulağa zor gelebilir, ancak bu sadece biraz zor ve aldatıcı bir şekilde basittir. Bu makalede, C++, Python ve JavaScript kullanarak iki dizenin birbirinin anagramı olup olmadığını nasıl kontrol edeceğinizi öğreneceksiniz.





Sorun bildirimi

Size s1 ve s2 olmak üzere iki string verildi, bu iki stringin birbirinin anagramı olup olmadığını kontrol etmeniz gerekiyor.





örnek 1 : s1 = 'yaratıcı' ve s2 = 'reaktif' olsun.





İkinci dize, birinci dizenin harfleri yeniden düzenlenerek veya tam tersi oluşturulabileceğinden, iki dize birbirinin anagramıdır.

Örnek 2 : s1 = 'Peter Piper bir gaga biber turşusu aldı' ve s2 = 'Peter Piper bir demet biber turşusu aldı'.



Birinci dizenin harfleri yeniden düzenlenerek ikinci dize oluşturulamadığından ve bunun tersi de geçerli olduğundan, iki dize birbirinin anagramı değildir.

İki Dizinin Birbirinin Anagramı Olup Olmadığını Kontrol Etme İşlemi

İki dizenin birbirinin anagramı olup olmadığını kontrol etmek için aşağıdaki yaklaşımı takip edebilirsiniz:





  1. Her iki dizenin uzunluğunu karşılaştırın.
  2. Her iki dizenin uzunluğu aynı değilse, birbirlerinin anagramı olamazlar demektir. Bu nedenle false döndürün.
  3. Her iki dizenin uzunluğu aynıysa, devam edin.
  4. Her iki dizeyi de sıralayın.
  5. Her iki sıralanmış dizeyi karşılaştırın.
  6. Sıralanan dizelerin ikisi de aynıysa, birbirlerinin anagramları oldukları anlamına gelir. Böylece true döndürün.
  7. Sıralanan dizelerin ikisi de farklıysa, birbirlerinin anagramları değillerdir. Bu nedenle false döndürün.

İlgili: Bir Dizenin Palindrom Olup Olmadığı Nasıl Kontrol Edilir

İki Dizenin Birbirinin Anagramı Olup Olmadığını Kontrol Eden C++ Programı

Aşağıda, iki dizenin birbirinin anagramı olup olmadığını kontrol eden C++ programı verilmiştir:





#include
using namespace std;
bool checkAnagrams(string s1, string s2)
{
int size1 = s1.length();
int size2 = s2.length();
// If the length of both strings are not the same,
// it means they can't be anagrams of each other.
// Thus, return false.
if (size1 != size2)
{
return false;
}
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
for (int i = 0; i {
if (s1[i] != s2[i])
{
return false;
}
}
return true;
}
int main()
{
string s1 = 'listen';
string s2 = 'silent';
cout << 'String 1: ' << s1 << endl;
cout << 'String 2: ' << s2 << endl;
if(checkAnagrams(s1, s2))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s3 = 'Welcome to MUO';
string s4 = 'MUO to Welcome';
cout << 'String 3: ' << s3 << endl;
cout << 'String 4: ' << s4 << endl;
if(checkAnagrams(s3, s4))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s5 = 'Peter Piper picked a peck of pickled peppers';
string s6 = 'A peck of pickled peppers Peter Piper picked';
cout << 'String 5: ' << s5 << endl;
cout << 'String 6: ' << s6 << endl;
if(checkAnagrams(s5, s6))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s7 = 'She sells seashells by the seashore';
string s8 = 'seashells by the seashore';
cout << 'String 7: ' << s7 << endl;
cout << 'String 8: ' << s8 << endl;
if(checkAnagrams(s7, s8))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s9 = 'creative';
string s10 = 'reactive';
cout << 'String 9: ' << s9 << endl;
cout << 'String 10: ' << s10 << endl;
if(checkAnagrams(s9, s10))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
return 0;
}

Çıktı:

String 1: listen
String 2: silent
Yes, the two strings are anagrams of each other
String 3: Welcome to MUO
String 4: MUO to Welcome
Yes, the two strings are anagrams of each other
String 5: Peter Piper picked a peck of pickled peppers
String 6: A peck of pickled peppers Peter Piper picked
No, the two strings are not anagrams of each other
String 7: She sells seashells by the seashore
String 8: seashells by the seashore
No, the two strings are not anagrams of each other
String 9: creative
String 10: reactive
Yes, the two strings are anagrams of each other

İlgili: Bir Dizede Verilen Bir Karakterin Oluşumları Nasıl Sayılır

İki Dizenin Birbirinin Anagramı Olup Olmadığını Kontrol Eden Python Programı

Aşağıda, iki dizenin birbirinin anagramı olup olmadığını kontrol eden Python programı verilmiştir:

def checkAnagrams(s1, s2):
size1 = len(s1)
size2 = len(s2)
# If the length of both strings are not the same,
# it means they can't be anagrams of each other.
# Thus, return false.
if size1 != size2:
return 0
s1 = sorted(s1)
s2 = sorted(s2)
for i in range(0, size1):
if s1[i] != s2[i]:
return False
return True

s1 = 'listen'
s2 = 'silent'
print('String 1: ', s1)
print('String 2: ', s2)
if(checkAnagrams(s1, s2)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s3 = 'Welcome to MUO'
s4 = 'MUO to Welcome'
print('String 3: ', s3)
print('String 4: ', s4)
if(checkAnagrams(s3, s4)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s5 = 'Peter Piper picked a peck of pickled peppers'
s6 = 'A peck of pickled peppers Peter Piper picked'
print('String 5: ', s5)
print('String 6: ', s6)
if(checkAnagrams(s5, s6)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s7 = 'She sells seashells by the seashore'
s8 = 'seashells by the seashore'
print('String 7: ', s7)
print('String 8: ', s8)
if(checkAnagrams(s7, s8)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s9 = 'creative'
s10 = 'reactive'
print('String 9: ', s9)
print('String 10: ', s10)
if(checkAnagrams(s9, s10)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')

Çıktı:

String 1: listen
String 2: silent
Yes, the two strings are anagrams of each other
String 3: Welcome to MUO
String 4: MUO to Welcome
Yes, the two strings are anagrams of each other
String 5: Peter Piper picked a peck of pickled peppers
String 6: A peck of pickled peppers Peter Piper picked
No, the two strings are not anagrams of each other
String 7: She sells seashells by the seashore
String 8: seashells by the seashore
No, the two strings are not anagrams of each other
String 9: creative
String 10: reactive
Yes, the two strings are anagrams of each other

İlgili: Bir Dizedeki Ünlüler, Ünsüzler, Rakamlar ve Özel Karakterler Nasıl Bulunur?

JavaScript'te İki Dizenin Birbirinin Anagramı Olup Olmadığını Kontrol Edin

Aşağıda, iki dizenin birbirinin anagramı olup olmadığını kontrol eden JavaScript programı verilmiştir:

function checkAnagrams(s1, s2) {
let size1 = s1.length;
let size2 = s2.length;
// If the length of both strings are not the same,
// it means they can't be anagrams of each other.
// Thus, return false.
if (size1 != size2)
{
return false;
}
s1.sort();
s2.sort();
for (let i = 0; i {
if (s1[i] != s2[i])
{
return false;
}
}
return true;
}

var s1 = 'listen';
var s2 = 'silent';
document.write('String 1: ' + s1 + '
');
document.write('String 2: ' + s2 + '
');
if(checkAnagrams(s1.split(''), s2.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s3 = 'Welcome to MUO';
var s4 = 'MUO to Welcome';
document.write('String 3: ' + s3 + '
');
document.write('String 4: ' + s4 + '
');
if(checkAnagrams(s3.split(''), s4.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s5 = 'Peter Piper picked a peck of pickled peppers';
var s6 = 'A peck of pickled peppers Peter Piper picked';
document.write('String 5: ' + s5 + '
');
document.write('String 6: ' + s6 + '
');
if(checkAnagrams(s5.split(''), s6.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s7 = 'She sells seashells by the seashore';
var s8 = 'seashells by the seashore';
document.write('String 7: ' + s7 + '
');
document.write('String 8: ' + s8 + '
');
if(checkAnagrams(s7.split(''), s8.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s9 = 'creative';
var s10 = 'reactive';
document.write('String 9: ' + s9 + '
');
document.write('String 10: ' + s10 + '
');
if(checkAnagrams(s9.split(''), s10.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}

Çıktı:

String 1: listen
String 2: silent
Yes, the two strings are anagrams of each other
String 3: Welcome to MUO
String 4: MUO to Welcome
Yes, the two strings are anagrams of each other
String 5: Peter Piper picked a peck of pickled peppers
String 6: A peck of pickled peppers Peter Piper picked
No, the two strings are not anagrams of each other
String 7: She sells seashells by the seashore
String 8: seashells by the seashore
No, the two strings are not anagrams of each other
String 9: creative
String 10: reactive
Yes, the two strings are anagrams of each other

İlgili: Bir Karakterin ASCII Değerini Nasıl Bulursunuz?

Kodlamayı Öğrenmek için Doğru Kaynakları Kullanın

Kodlama becerilerinizi pekiştirmek istiyorsanız, yeni kavramlar öğrenmek ve bunları kullanmak için zaman harcamak önemlidir. Bunu yapmanın bir yolu, aynı anda eğlenirken farklı programlama kavramlarını öğrenmenize yardımcı olacak programlama uygulamalarıdır.

Paylaş Paylaş Cıvıldamak E-posta Uluslararası Programcılar Günü için Kodlamayı Öğrenmenize Yardımcı Olacak 8 Uygulama

Kodlama becerilerinizi tazelemek ister misiniz? Bu uygulamalar ve web siteleri, programlamayı kendi hızınızda öğrenmenize yardımcı olacaktır.

denetleyiciyi xbox one'a nasıl bağlarım
Sonrakini Oku İlgili konular
  • Programlama
  • JavaScript
  • piton
  • C Programlama
Yazar hakkında Yuvraj Chandra(60 Makale Yayımlandı)

Yuvraj, Hindistan Delhi Üniversitesi'nde Bilgisayar Bilimleri lisans öğrencisidir. Full Stack Web Geliştirme konusunda tutkulu. Yazmadığı zamanlarda farklı teknolojilerin derinliğini keşfediyor.

Yuvraj Chandra'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın