Mündəricat:
- Addım 1: İstifadə olunan anlayışlar
- Addım 2: Əsas funksiya
- Addım 3: Xüsusi personajları necə atmaq olar?
- Addım 4: Eyni simvolların çıxarılması
- Addım 5: Dairəvi İkiqat Bağlı Siyahı Yaratmaq
- Addım 6: Alovları Oynamaq üçün Kod
- Addım 7: Nəticəni deyin
- Addım 8: Alovlar üçün kod
Video: C ++ istifadə edərək Alovlar: 8 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
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
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
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