
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48


Բարև ընկերներ, մենք բոլորս գիտենք բոցերի խաղի մասին: Lol, Դա ամենազվարճալի խաղերից մեկն է, որն ավելի ուրախացրեց մեր մանկությունը: Այս ուսանելի ծրագրում մենք կտեսնենք, թե ինչպես պետք է ծածկագրել կրակի ծրագիրը C ++ լեզվով:
Քայլ 1: Օգտագործված հասկացությունները

Այստեղ ես օգտագործեցի Circular կրկնակի կապակցված ցուցակը:
Քայլ 2: Հիմնական գործառույթը
int հիմնական ()
{
տողի անուն 1, անուն 2;
int n1, n2; cout << "Մուտքագրեք առաջին անունը:"; getline (cin, name1); cout << "Մուտքագրեք երկրորդ անունը."; getline (cin, name2);
}
Նախ, մենք պետք է երկու անուն ստանանք տարածություն, այնպես որ ես օգտագործում եմ getline () գործառույթը `տողը տարածություն ստանալու համար:
Քայլ 3. Ինչպե՞ս բաց թողնել հատուկ կերպարները:
դատարկ արտանետում (տող և ա)
{
համար (int i = 0; a ! = '\ 0'; i ++)
{
եթե (a > = 'a' && a <= 'z') {}
այլապես, եթե (a > = 'A' && a <= 'Z') {}
ուրիշ
a = '0';
}
}
Այժմ մենք պետք է հեռացնենք հատուկ նիշերը, ինչպիսիք են &, $, '' … և այլն: Օգտագործելով այս գործառույթը, մենք հեռացրեցինք բոլոր այբուբեններից բացի այլ նշաններ: Այստեղ հեռացնելու փոխարեն այն փոխարինում եմ «0» -ով:
Քայլ 4: Նույն նիշերի հեռացում
համար (i = 0; name1 ! = '\ 0'; i ++)
համար (j = 0; name2 [j]! = '\ 0'; j ++)
եթե ((name1 == name2 [j] || name1 == name2 [j] +32))
{
անուն 1 = '0';
name2 [j] = '0';
ընդմիջում;
}
Դա կրակի խաղի առաջին քայլն է, որ մենք պետք է հեռացնենք նույն անունները, որոնք առկա են երկու անուններում: Այս կոդի հատվածը օգնում է մեզ փոխարինել նույն նիշերը «0» -ով, և այն լավ է աշխատում, նույնիսկ եթե այն պարունակում է ինչպես մեծ, այնպես էլ փոքրատառ: Ընդմիջման հայտարարությունը օգնում է մեզ խուսափել կրկնվող նիշերի հեռացումից:
j = 0; համար (i = 0; name1 ! = '\ 0'; i ++)
եթե (անուն 1 ! = '0')
j ++;
համար (i = 0; name2 ! = '\ 0'; i ++)
if (name2 ! = '0')
j ++;
եթե (j == 0) cout << "ԲՈAMՅՔ ՉԿԱ";
Այստեղ մենք հեռացնում ենք բոլոր 0 -երը, որոնք առկա են երկու անուններում: Հետեւաբար, վերջապես, միեւնույն է, կերպարները հանվում են: Այնուհետև j- ն ավելանում է, որ դա տառերի հաշվարկն է, որոնք առկա են երկու անուններում ՝ նույն նիշերը հեռացնելուց հետո: Այժմ մենք պետք է ստուգենք ՝ պարունակում է արդյոք առնվազն մեկ նիշ, թե ոչ: Կոդն արդյունավետ դարձնելու համար մենք պետք է ասենք, որ բոցերի խաղ խաղալու հնարավորություն չկա, եթե այն եզակի նիշ չի պարունակում:
Քայլ 5. Ստեղծեք շրջանաձև կրկնակիորեն կապված ցուցակ
string a = "բոցեր";
Նախ, ստեղծեք գլոբալ տող, որը պարունակում է «բոցեր»:
typedef կառուցվածքային հանգույց {
char տվյալներ;
հանգույց *հաջորդ, *նախորդ;
} հանգույց;
հանգույց *վերև = NULL, *ջերմաստիճան;
Այժմ ստեղծեք կառուցվածք, որը պարունակում է բնույթի տվյալներ, հաջորդ հասցեի ցուցիչ և նախորդ հասցեի ցուցիչ:
Այնուհետև ստեղծեք ցուցիչ, որը ցույց է տալիս կապված ցուցակի վերևը:
հանգույց* ներ (նշան ա) {
հանգույց *new1;
new1 = նոր հանգույց;
new1-> տվյալներ = ա;
new1-> հաջորդ = NULL;
new1-> prev = NULL;
եթե (վերև == NULL)
{
վերև = new1;
ջերմաստիճան = վերև;
}
ուրիշ
{
temp-> հաջորդ = new1;
new1-> prev = temp;
ջերմաստիճան = new1;
}
վերադառնալ վերև;
}
Այնուհետև «բոցերի» տողը ըստ նշանների տեղադրեք կրկնակի կապված ցուցակի մեջ:
անվավեր ստուգում (int j) {
int count1, դրոշ = 0;
համար (int i = 0; a ! = '\ 0'; i ++)
վերև = ներ (a );
}
Քայլ 6: Բոցերը խաղալու կոդ

անվավեր ստուգում (int j)
{
int count1, դրոշ = 0;
համար (int i = 0; a ! = '\ 0'; i ++)
վերև = ներ (a );
հանգույց *cur = վերև, *prev1;
temp-> հաջորդ = վերև;
վեր-> նախ = ջերմաստիճան;
մինչդեռ (1)
{
հաշվել 1 = 1;
իսկ (հաշվարկ 1 <ժ)
{
cur = cur-> հաջորդ;
հաշվել 1 ++;
}
հանգույց *temp1 = cur;
prev1 = cur-> prev;
cur-> prev-> next = cur-> հաջորդ;
cur-> հաջորդ-> prev = cur-> prev;
temp1-> հաջորդ = NULL;
անվճար (temp1);
cur = prev1-> հաջորդ;
հանգույց *փորձարկում = cur;
if (test-> data == test-> next-> data)
ընդմիջում;
}
}
մենք պետք է գործարկենք շրջանաձև ցուցակը, որը «կրակի» տողն է `ըստ եզակի կերպարների հաշվարկի: Այնուհետեւ մենք պետք է հեռացնենք «կրակի» բնույթը, որը համընկնում է հաշվարկի հետ: Մենք պետք է գիտակցենք այս ծածկագրի հատվածում կրկնակի կապված ցուցակի օգտագործումը: Դա շատ է օգնում հեռացնել որոշակի կերպար: Այն անընդհատ հեռացնում է: Մինչև այն վիճակին հասնելը, որ նույն կերպարները կրկնվեն:
եթե (test-> data == test-> next-> data) break;
Քայլ 7: Ասեք արդյունքը
անջատիչ (cur-> տվյալներ)
{
case 'f': cout << "FRIENDS &&";
ընդմիջում;
case 'l': cout << "ՍԵՐ <3";
ընդմիջում;
դեպք 'a': cout << "AFFECTION $";
ընդմիջում;
case 'm': cout << "ԱՄՈRՍՆՈ:)ԹՅՈ:)Ն:)";
ընդմիջում;
case 'e': cout << "Թշնամի:(";
ընդմիջում;
case 's': cout << "SIBLING";
ընդմիջում; }
Օգտագործեք այս անջատիչ հայտարարությունը `վերջնական արդյունքն ասելու համար, որ վերջին նիշը մնում է մնացած բոլոր նիշերը` ըստ հաշվարկի հեռացնելուց հետո:
Այժմ դուք կարող եք հեշտությամբ խաղալ կրակի վրա ՝ պարզապես մուտքագրելով անունները: Դա ծիծաղելի է: Խաղացեք այս խաղը ՝ օգտագործելով ձեր ընկերոջ անունները և զայրացրեք նրանց LOL: Շնորհակալություն.
Քայլ 8: Բոցերի ծածկագիր
FLAMES- ի ամբողջական կոդը հասանելի է այստեղ, github.com/naveeen684/Flames-code-using-C-/tree/master