Написао Иуврај Цхандра
Објави
Емаил

Поређење да ли су два текстуална низа анаграми одличан је задатак за решавање проблема за побољшање вештина програмирања.

Анаграм је низ настао преуређивањем слова другог низа. Провера да ли су две жице анаграми једна другој може звучати тешко, али је само помало зезнуто и варљиво једноставно. У овом чланку ћете научити како да проверите да ли су два низа анаграми један другог користећи Ц ++, Питхон и ЈаваСцрипт.

Изјава о проблему

Добили сте две жице с1 и с2, морате да проверите да ли су две жице анаграми једна другој или не.

Пример 1: Нека је с1 = "креативан" и с2 = "реактиван".

Будући да се други низ може формирати преуређивањем слова првог низа и обрнуто, тако су два низа анаграми један другог.

Пример 2: Нека с1 = "Петер Пипер је убрао киселу киселу паприку" и с2 = "Куљу киселе паприке Петер Пипер је убрао".

Будући да други низ не може да се формира преуређивањем слова првог низа и обрнуто, тако два низа нису анаграми један другог.

instagram viewer

Процес за проверу да ли су две жице међусобни анаграми

Можете следити доњи приступ да бисте проверили да ли су два низа анаграми један другог:

  1. Упоредите дужину обе жице.
  2. Ако дужина обе жице није иста, то значи да оне не могу бити анаграми једна друге. Дакле, вратите нетачно.
  3. Ако је дужина обе жице иста, наставите даље.
  4. Поредај обе жице.
  5. Упоредите оба сортирана низа.
  6. Ако су оба сортирана низа иста, то значи да су међусобно анаграми. Дакле, вратите се тачно.
  7. Ако су оба сортирана низа различита, то значи да нису међусобни анаграми. Дакле, вратите нетачно.

Повезан: Како проверити да ли је низ палиндром

Ц ++ програм за проверу да ли су две жице међусобни анаграми

Испод је програм Ц ++ за проверу да ли су две струне анаграми једна другој или нису:

#инцлуде 
коришћење простора имена стд;
боол цхецкАнаграмс (стринг с1, стринг с2)
{
инт сизе1 = с1.ленгтх ();
инт сизе2 = с2.ленгтх ();
// Ако дужина оба низа није иста,
// то значи да не могу бити анаграми један другог.
// Дакле, врати фалсе.
ако (величина1! = величина2)
{
ретурн фалсе;
}
сорт (с1.бегин (), с1.енд ());
сорт (с2.бегин (), с2.енд ());
за (инт и = 0; и {
ако (с1 [и]! = с2 [и])
{
ретурн фалсе;
}
}
ретурн труе;
}
инт маин ()
{
стринг с1 = "слушај";
стринг с2 = "тихо";
цоут << "Низ 1:" << с1 << ендл;
цоут << "Низ 2:" << с2 << ендл;
иф (цхецкАнаграмс (с1, с2))
{
цоут << "Да, два низа су међусобни анаграми" << ендл;
}
иначе
{
цоут << "Не, две жице нису међусобни анаграми" << ендл;
}
стринг с3 = "Добродошли у МУО";
стринг с4 = "МУО за добродошлицу";
цоут << "Низ 3:" << с3 << ендл;
цоут << "Низ 4:" << с4 << ендл;
иф (цхецкАнаграмс (с3, с4))
{
цоут << "Да, два низа су међусобни анаграми" << ендл;
}
иначе
{
цоут << "Не, две жице нису међусобни анаграми" << ендл;
}
стринг с5 = "Петер Пипер убрао је киселу киселу паприку";
стринг с6 = "Клатина укисељене паприке коју је Петер Пипер убрао";
цоут << "Низ 5:" << с5 << ендл;
цоут << "Низ 6:" << с6 << ендл;
иф (цхецкАнаграмс (с5, с6))
{
цоут << "Да, два низа су међусобни анаграми" << ендл;
}
иначе
{
цоут << "Не, две жице нису међусобни анаграми" << ендл;
}
стринг с7 = "Продаје шкољке поред морске обале";
стринг с8 = "шкољке поред морске обале";
цоут << "Низ 7:" << с7 << ендл;
цоут << "Низ 8:" << с8 << ендл;
иф (цхецкАнаграмс (с7, с8))
{
цоут << "Да, два низа су међусобни анаграми" << ендл;
}
иначе
{
цоут << "Не, две жице нису међусобни анаграми" << ендл;
}
стринг с9 = "креативни";
стринг с10 = "реактиван";
цоут << "Низ 9:" << с9 << ендл;
цоут << "Низ 10:" << с10 << ендл;
иф (цхецкАнаграмс (с9, с10))
{
цоут << "Да, два низа су међусобни анаграми" << ендл;
}
иначе
{
цоут << "Не, две жице нису међусобни анаграми" << ендл;
}
ретурн 0;
}

Излаз:

Низ 1: слушајте
Низ 2: тихо
Да, две жице су међусобни анаграми
Стринг 3: Добродошли у МУО
Стринг 4: МУО за добродошлицу
Да, две жице су међусобни анаграми
Низ 5: Петер Пипер убрао је киселу киселу паприку
Низ 6: Кључка укисељене паприке коју је Петер Пипер убрао
Не, те две струне нису међусобни анаграми
Низ 7: Продаје шкољке уз обалу мора
Низ 8: шкољке уз обалу мора
Не, те две струне нису међусобни анаграми
Низ 9: креативан
Низ 10: реактиван
Да, две жице су међусобни анаграми

Повезан: Како бројати појаве датог лика у низу

Питхон програм за проверу да ли су две жице међусобни анаграми

Испод је програм Питхон за проверу да ли су две струне анаграми једна другој или нису:

деф цхецкАнаграмс (с1, с2):
сизе1 = лен (с1)
сизе2 = лен (с2)
# Ако дужина обе жице није иста,
# то значи да не могу бити анаграми једни другима.
# Дакле, вратите фалсе.
ако је сизе1! = сизе2:
ретурн 0
с1 = сортирано (с1)
с2 = сортирано (с2)
за и у опсегу (0, величина1):
ако је с1 [и]! = с2 [и]:
повратак Нетачно
повратак Тачно
с1 = "слушај"
с2 = "нечујно"
принт ("Низ 1:", с1)
принт ("Низ 2:", с2)
иф (цхецкАнаграмс (с1, с2)):
принт ("Да, два низа су међусобни анаграми")
иначе:
принт ("Не, два низа нису анаграми један другог")
с3 = "Добродошли у МУО"
с4 = "МУО за добродошлицу"
принт ("Низ 3:", с3)
принт ("Низ 4:", с4)
иф (цхецкАнаграмс (с3, с4)):
принт ("Да, два низа су међусобни анаграми")
иначе:
принт ("Не, два низа нису анаграми један другог")
с5 = "Петер Пипер убрао је киселу киселу паприку"
с6 = "Клатина укисељене паприке коју је Петер Пипер убрао"
принт ("Низ 5:", с5)
принт ("Низ 6:", с6)
иф (цхецкАнаграмс (с5, с6)):
принт ("Да, два низа су међусобни анаграми")
иначе:
принт ("Не, два низа нису анаграми један другог")
с7 = "Продаје шкољке уз обалу мора"
с8 = "шкољке уз обалу мора"
принт ("Низ 7:", с7)
принт ("Низ 8:", с8)
иф (цхецкАнаграмс (с7, с8)):
принт ("Да, два низа су међусобни анаграми")
иначе:
принт ("Не, два низа нису анаграми један другог")
с9 = "креативно"
с10 = "реактиван"
принт ("Низ 9:", с9)
принт ("Низ 10:", с10)
иф (цхецкАнаграмс (с9, с10)):
принт ("Да, два низа су међусобни анаграми")
иначе:
принт ("Не, два низа нису анаграми један другог")

Излаз:

Низ 1: слушајте
Низ 2: тихо
Да, две жице су међусобни анаграми
Стринг 3: Добродошли у МУО
Стринг 4: МУО за добродошлицу
Да, две жице су међусобни анаграми
Низ 5: Петер Пипер убрао је киселу киселу паприку
Низ 6: Кључка укисељене паприке коју је Петер Пипер убрао
Не, те две струне нису међусобни анаграми
Низ 7: Продаје шкољке уз обалу мора
Низ 8: шкољке уз обалу мора
Не, те две струне нису међусобни анаграми
Низ 9: креативан
Низ 10: реактиван
Да, две жице су међусобни анаграми

Повезан: Како пронаћи самогласнике, сугласнике, цифре и посебне знакове у низу

Проверите да ли су два низа анаграми један другог у ЈаваСцрипт-у

Испод је ЈаваСцрипт програм за проверу да ли су два низа анаграми један другог или нису:

фунцтион цхецкАнаграмс (с1, с2) {
нека сизе1 = с1.ленгтх;
нека сизе2 = с2.ленгтх;
// Ако дужина оба низа није иста,
// то значи да не могу бити анаграми један другог.
// Дакле, врати фалсе.
ако (величина1! = величина2)
{
ретурн фалсе;
}
с1.сорт ();
с2.сорт ();
за (нека је и = 0; и {
ако (с1 [и]! = с2 [и])
{
ретурн фалсе;
}
}
ретурн труе;
}
вар с1 = "слушај";
вар с2 = "нечујно";
доцумент.врите ("Низ 1:" + с1 + "
");
доцумент.врите ("Низ 2:" + с2 + "
");
иф (цхецкАнаграмс (с1.сплит (""), с2.сплит (""))) {
доцумент.врите ("Да, два низа су међусобни анаграми" + "
");
} остало {
доцумент.врите ("Не, два низа нису међусобни анаграми" + "
");
}
вар с3 = "Добродошли у МУО";
вар с4 = "МУО за добродошлицу";
доцумент.врите ("Низ 3:" + с3 + "
");
доцумент.врите ("Низ 4:" + с4 + "
");
иф (цхецкАнаграмс (с3.сплит (""), с4.сплит (""))) {
доцумент.врите ("Да, два низа су међусобни анаграми" + "
");
} остало {
доцумент.врите ("Не, два низа нису међусобни анаграми" + "
");
}
вар с5 = "Петер Пипер убрао је киселу киселу паприку";
вар с6 = "Клатина укисељене паприке коју је Петер Пипер убрао";
доцумент.врите ("Низ 5:" + с5 + "
");
доцумент.врите ("Низ 6:" + с6 + "
");
иф (цхецкАнаграмс (с5.сплит (""), с6.сплит (""))) {
доцумент.врите ("Да, два низа су међусобни анаграми" + "
");
} остало {
доцумент.врите ("Не, два низа нису међусобни анаграми" + "
");
}
вар с7 = "Продаје шкољке уз обалу мора";
вар с8 = "шкољке уз обалу мора";
доцумент.врите ("Низ 7:" + с7 + "
");
доцумент.врите ("Низ 8:" + с8 + "
");
иф (цхецкАнаграмс (с7.сплит (""), с8.сплит (""))) {
доцумент.врите ("Да, два низа су међусобни анаграми" + "
");
} остало {
доцумент.врите ("Не, два низа нису међусобни анаграми" + "
");
}
вар с9 = "креативно";
вар с10 = "реактиван";
доцумент.врите ("Низ 9:" + с9 + "
");
доцумент.врите ("Низ 10:" + с10 + "
");
иф (цхецкАнаграмс (с9.сплит (""), с10.сплит (""))) {
доцумент.врите ("Да, два низа су међусобни анаграми" + "
");
} остало {
доцумент.врите ("Не, два низа нису међусобни анаграми" + "
");
}

Излаз:

Низ 1: слушајте
Низ 2: тихо
Да, две жице су међусобни анаграми
Стринг 3: Добродошли у МУО
Стринг 4: МУО за добродошлицу
Да, две жице су међусобни анаграми
Низ 5: Петер Пипер убрао је киселу киселу паприку
Низ 6: Кључка укисељене паприке коју је Петер Пипер убрао
Не, те две струне нису међусобни анаграми
Низ 7: Продаје шкољке уз обалу мора
Низ 8: шкољке уз обалу мора
Не, те две струне нису међусобни анаграми
Низ 9: креативан
Низ 10: реактиван
Да, две жице су међусобни анаграми

Повезан: Како пронаћи АСЦИИ вредност лика?

Користите праве ресурсе да бисте научили да кодирате

Ако желите да учврстите своје вештине кодирања, важно је научити нове концепте и провести време користећи их. Један од начина да то урадите је помоћу програма за програмирање, који ће вам помоћи да научите различите концепте програмирања, истовремено се забављајући.

Објави
Емаил
8 апликација које ће вам помоћи да научите да кодирате Међународни дан програмера

Желите ли да разјасните своје вештине кодирања? Ове апликације и веб локације помоћи ће вам да научите програмирање сопственим темпом.

Прочитајте следеће

Повезане теме
  • Програмирање
  • ЈаваСцрипт
  • Питхон
  • Ц Програмирање
О аутору
Иуврај Цхандра (Објављено 43 чланка)

Иуврај је студент основних студија рачунарства на Универзитету у Делхију у Индији. Одушевљен је Фулл Стацк веб развојем. Када не пише, истражује дубину различитих технологија.

Још од Иуврај Цхандра

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили