Satura rādītājs:

LIESMAS Izmantojot C ++: 8 soļi
LIESMAS Izmantojot C ++: 8 soļi

Video: LIESMAS Izmantojot C ++: 8 soļi

Video: LIESMAS Izmantojot C ++: 8 soļi
Video: pennies 2024, Jūlijs
Anonim
LIESMAS Izmantojot C ++
LIESMAS Izmantojot C ++
LIESMAS Izmantojot C ++
LIESMAS Izmantojot C ++

Sveiki draugi, mēs visi zinām par liesmu spēli. Lol, tā ir viena no smieklīgākajām spēlēm, kas padarīja mūsu bērnību laimīgāku. Šajā pamācībā mēs redzēsim, kā kodēt liesmu programmu, izmantojot C ++ valodu.

1. darbība. Izmantotie jēdzieni

Izmantotie jēdzieni
Izmantotie jēdzieni

Šeit es izmantoju divkārt saistīto apļveida sarakstu.

2. darbība: galvenā funkcija

int main ()

{

virknes nosaukums1, nosaukums2;

int n1, n2; cout << "Ievadiet pirmo nosaukumu:"; getline (cin, name1); cout << "IEVADIET OTRO NOSAUKUMU:"; getline (cin, name2);

}

Pirmkārt, mums ir jāiegūst divi nosaukumi ar atstarpi, tāpēc es izmantoju funkciju getline (), lai iegūtu virkni ar atstarpi.

3. darbība. Kā izlaist īpašās rakstzīmes?

tukša emitēšana (virkne un a)

{

par (int i = 0; a ! = '\ 0'; i ++)

{

ja (a > = 'a' && a <= 'z') {}

citādi, ja (a > = 'A' && a <= 'Z') {}

citādi

a = '0';

}

}

Tagad mums ir jānoņem īpašās rakstzīmes, piemēram, &, $, '' … utt. Izmantojot šo funkciju, mēs noņemām visas rakstzīmes, izņemot alfabētu. Šeit tā vietā, lai noņemtu, es to aizstāju ar “0”.

4. darbība. Vienādu rakstzīmju noņemšana

(i = 0; vārds1 ! = '\ 0'; i ++)

par (j = 0; nosaukums2 [j]! = '\ 0'; j ++)

ja ((vārds1 == vārds2 [j] || vārds1 == vārds2 [j] +32))

{

vārds1 = '0';

vārds2 [j] = '0';

pārtraukums;

}

Tas ir pirmais liesmu spēles solis, ka mums ir jānoņem tās pašas rakstzīmes, kas ir abos nosaukumos. Šis koda fragments palīdz mums aizstāt tās pašas rakstzīmes ar “0”, un tas darbojas arī labi, pat ja tajā ir gan lielie, gan mazie burti. Pārtraukuma paziņojums palīdz izvairīties no atkārtotu rakstzīmju noņemšanas.

j = 0; par (i = 0; name1 ! = '\ 0'; i ++)

ja (vārds1 ! = '0')

j ++;

par (i = 0; name2 ! = '\ 0'; i ++)

ja (vārds2 ! = '0')

j ++;

ja (j == 0) cout << "NO FLAMES";

Šeit mēs noņemam visus abos nosaukumos esošos “0”. Tāpēc, visbeidzot, rakstzīmes tiek noņemtas. Tad j tiek palielināts, ka tas ir burtu skaits, kas abos nosaukumos ir pēc to pašu rakstzīmju noņemšanas. Tagad mums jāpārbauda, vai tajā ir vismaz viena rakstzīme. Lai kods būtu efektīvs, mums jāpaziņo, ka nav iespējas spēlēt spēli liesmas, ja tajā nav unikālu rakstzīmju.

5. solis: apļveida dubultā saistītā saraksta izveide

virkne a = "liesmas";

Vispirms izveidojiet globālu virkni, kas satur "liesmas".

typedef structure node {

char dati;

mezgls *nākamais, *iepriekšējais;

} mezgls;

mezgls *augšā = NULL, *temp;

Tagad izveidojiet struktūru, kurā ir rakstzīmju dati, nākamais adreses rādītājs un iepriekšējais adreses rādītājs.

Pēc tam izveidojiet rādītāju, kas norāda uz saistītā saraksta augšdaļu.

mezgls* ins (a zīme) {

mezgls *jauns1;

new1 = jauns mezgls;

jauns1-> dati = a;

jauns1-> nākamais = NULL;

jauns1-> iepriekš = NULL;

ja (augšpusē == NULL)

{

top = jauns1;

temp = augšējā;

}

citādi

{

temp-> nākamais = jauns1;

jauns1-> iepriekš = temp;

temp = jauns1;

}

atgriešanās augšdaļa;

}

Pēc tam ievietojiet "liesmas" virkni divreiz saistītajā sarakstā pēc rakstzīmēm.

anulēt čeku (int j) {

int skaits1, karogs = 0;

par (int i = 0; a ! = '\ 0'; i ++)

augšā = ins (a );

}

6. solis: kods, lai spēlētu liesmas

Kods, kā spēlēt liesmas
Kods, kā spēlēt liesmas

anulēt čeku (int j)

{

int skaits1, karogs = 0;

par (int i = 0; a ! = '\ 0'; i ++)

augšā = ins (a );

mezgls *cur = augšā, *prev1;

temp-> nākamais = augšā;

top-> prev = temp;

kamēr (1)

{

skaits1 = 1;

kamēr (skaits1 <j)

{

cur = cur-> nākamais;

skaits1 ++;

}

mezgls *temp1 = cur;

iepriekšējais = cur-> iepriekšējais;

cur-> iepriekšējais-> nākamais = cur-> nākamais;

cur-> nākamais-> iepriekšējais = cur-> iepriekšējais;

temp1-> nākamais = NULL;

bezmaksas (temp1);

cur = iepriekšējais-> nākamais;

mezgls *tests = cur;

ja (tests-> dati == tests-> nākamais-> dati)

pārtraukums;

}

}

mums ir jāizpilda apļveida saraksts, kas ir "liesmu" virkne atbilstoši unikālo rakstzīmju skaitam. Tad mums ir jānoņem raksturs "liesmās", kas sakrīt ar skaitu. Mums vajadzētu saprast, ka šajā koda fragmentā tiek izmantots divreiz saistīts saraksts. Tas ļoti palīdz noņemt konkrētu rakstzīmi. Tas nepārtraukti noņem. Līdz brīdim, kad tiek sasniegts nosacījums, ka vienas un tās pašas rakstzīmes nāk atkārtoti.

ja (tests-> dati == tests-> nākamie> dati) pārtraukums;

7. darbība: pastāstiet rezultātu

slēdzis (cur-> data)

{

gadījums 'f': cout << "DRAUGI &&";

pārtraukums;

gadījums 'l': cout << "MĪLESTĪBA <3";

pārtraukums;

gadījums 'a': cout << "AFFECTION $";

pārtraukums;

gadījums 'm': cout << "LAULĪBA:)";

pārtraukums;

gadījums 'e': cout << "IENAIDNIEKS:(";

pārtraukums;

gadījums 's': cout << "SIBLING";

pārtraukums; }

Izmantojiet šo slēdzi, lai pateiktu gala rezultātu, kas ir pēdējā rakstzīme pēc visu citu rakstzīmju noņemšanas atbilstoši skaitam.

Tagad jūs varat viegli spēlēt liesmas, vienkārši ievadot vārdus, tas ir smieklīgi. Spēlējiet šo spēli, izmantojot sava drauga vārdus un padariet viņus dusmīgus LOL. Paldies.

8. darbība. Liesmu kods

Pilns FLAMES kods ir pieejams šeit, github.com/naveeen684/Flames-code-using-C-/tree/master