Mündəricat:

C ++ istifadə edərək Alovlar: 8 addım
C ++ istifadə edərək Alovlar: 8 addım

Video: C ++ istifadə edərək Alovlar: 8 addım

Video: C ++ istifadə edərək Alovlar: 8 addım
Video: Section 1: More Comfortable 2024, Iyul
Anonim
Alovlar C ++ istifadə edir
Alovlar C ++ istifadə edir
Alovlar C ++ istifadə edir
Alovlar C ++ istifadə edir

Salam dostlar, Alov oyunu haqqında hamımız bilirik. Lol, uşaqlığımızı daha xoşbəxt edən ən gülməli oyunlardan biridir. Bu təlimatda, C ++ dilindən istifadə edərək alov proqramını necə kodlaşdıracağımızı görəcəyik.

Addım 1: İstifadə olunan anlayışlar

İstifadə olunan anlayışlar
İstifadə olunan anlayışlar

Burada dairəvi ikiqat əlaqəli siyahıdan istifadə etdim.

Addım 2: Əsas funksiya

int main ()

{

sim adı1, ad2;

int n1, n2; cout << "İLK ADI GİRİN:"; getline (cin, ad1); cout << "İKİNCİ ADI GİRİN:"; getline (cin, ad2);

}

Birincisi, boşluğu olan iki adı almalıyıq, buna görə də boşluğu olan sətri əldə etmək üçün getline () funksiyasından istifadə edirəm.

Addım 3: Xüsusi personajları necə atmaq olar?

boş yayma (simli və a)

{

üçün (int i = 0; a ! = '\ 0'; i ++)

{

əgər (a > = 'a' && a <= 'z') {}

başqa halda (a > = 'A' && a <= 'Z') {}

başqa

a = '0';

}

}

İndi &, $, '' və s. Kimi xüsusi simvolları silmək lazımdır. Bu funksiyanı istifadə edərək əlifbadan başqa bütün simvolları sildik. Burada silmək əvəzinə '0' ilə əvəz edirəm.

Addım 4: Eyni simvolların çıxarılması

üçün (i = 0; ad1 ! = '\ 0'; i ++)

üçün (j = 0; ad2 [j]! = '\ 0'; j ++)

əgər ((ad1 == ad2 [j] || ad1 == ad2 [j] +32))

{

ad1 = '0';

ad2 [j] = '0';

fasilə;

}

Alov oyununun ilk addımıdır ki, iki adda mövcud olan eyni simvolları çıxarmalıyıq. Bu kod parçası eyni simvolları '0' ilə əvəz etməyimizə kömək edir və həm böyük, həm də kiçik hərfləri ehtiva etsə də yaxşı işləyir. Break ifadəsi, təkrarlanan simvolların silinməsinin qarşısını almağa kömək edir.

j = 0; (i = 0; ad1 ! = '\ 0'; i ++) üçün

əgər (ad1 ! = '0')

j ++;

üçün (i = 0; ad2 ! = '\ 0'; i ++)

əgər (ad2 ! = '0')

j ++;

if (j == 0) cout << "YANMAZ";

Burada, hər iki adda olan bütün '0'ları silirik. Buna görə də, nəhayət, hamısı eyni simvollar silinir. Sonra j, eyni simvolları çıxardıqdan sonra hər iki adda mövcud olan hərflərin sayıdır. İndi ən azı bir simvolun olub olmadığını yoxlamalıyıq. Kodu səmərəli etmək üçün deməliyik ki, bənzərsiz simvol yoxdursa, alov oyununu oynamaq imkanı yoxdur.

Addım 5: Dairəvi İkiqat Bağlı Siyahı Yaratmaq

string a = "alovlar";

Əvvəlcə "alovlar" olan qlobal bir simli yaradın.

typedef struktur nodu {

char məlumatları;

node *next, *prev;

}düyün;

node *üst = NULL, *temp;

İndi bir xarakter məlumatları, növbəti ünvan göstəricisi və əvvəlki ünvan göstəricisi olan bir quruluş yaradın.

Sonra əlaqəli siyahının yuxarı hissəsinə işarə edən bir göstərici yaradın.

node* ins (char a) {

node *yeni1;

new1 = yeni qovşaq;

new1-> data = a;

new1-> next = NULL;

new1-> əvvəlki = NULL;

əgər (yuxarı == NULL)

{

üst = yeni1;

temp = üst;

}

başqa

{

temp-> sonrakı = yeni1;

new1-> əvvəlki = temp;

temp = yeni 1;

}

üstə qayıt;

}

Sonra, "alovlar" simini xarakterik olaraq ikiqat əlaqəli siyahıya daxil edin.

boş yoxlama (int j) {

int count1, bayraq = 0;

üçün (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

}

Addım 6: Alovları Oynamaq üçün Kod

Alovları oynamaq üçün kod
Alovları oynamaq üçün kod

boş yoxlama (int j)

{

int count1, bayraq = 0;

üçün (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

node *cur = üst, *prev1;

temp-> sonrakı = üst;

top-> prev = temp;

vaxt (1)

{

say1 = 1;

isə (say1 <j)

{

cur = cur-> sonrakı;

count1 ++;

}

node *temp1 = cur;

prev1 = cur-> əvvəlki;

cur-> prev-> next = cur-> next;

cur-> next-> prev = cur-> prev;

temp1-> sonrakı = NULL;

pulsuz (temp1);

cur = əvvəlki1-> sonrakı;

node *test = cur;

əgər (test-> məlumatlar == test-> sonrakı-> məlumatlar)

fasilə;

}

}

Unikal simvolların sayına görə "alovlar" simli dairəvi siyahını işə salmalıyıq. Sonra saymaqla üst -üstə düşən "alovlar" dakı xarakteri çıxarmalıyıq. Bu kod parçasında ikiqat əlaqəli bir siyahının istifadəsini həyata keçirməliyik. Xüsusi bir xarakteri çıxarmağa çox kömək edir. Davamlı olaraq çıxarılır. Eyni simvolların dəfələrlə gəlməsi şərtinə çatana qədər.

if (test-> data == test-> next-> data) qırılsa;

Addım 7: Nəticəni deyin

keçid (cur-> data)

{

hal 'f': cout << "DOSTLAR &&";

fasilə;

hal 'l': cout << "SEVGİ <3";

fasilə;

case 'a': cout << "AFFECTION $";

fasilə;

hal 'm': cout << "Evlilik:)";

fasilə;

case 'e': cout << "DÜŞMAN:(";

fasilə;

case 's': cout << "SIBLING";

fasilə; }

Bütün digər simvolların sayına görə silindikdən sonra qalan son xarakterin son nəticəsini söyləmək üçün bu keçid ifadəsini istifadə edin.

İndi yalnız adları daxil edərək asanlıqla alov oynaya bilərsiniz, çox gülməlidir. Dostunuzun adlarını istifadə edərək bu oyunu oynayın və onları qəzəbləndirin LOL. Çox sağ ol.

Addım 8: Alovlar üçün kod

FLAMES üçün tam kod burada mövcuddur, github.com/naveeen684/Flames-code-using-C-/tree/master