Innehållsförteckning:

FLAMER Med C ++: 8 steg
FLAMER Med C ++: 8 steg

Video: FLAMER Med C ++: 8 steg

Video: FLAMER Med C ++: 8 steg
Video: Abstraction: The True Superpower of C++ - Guy Davidson - C++ on Sea 2022 2024, Juli
Anonim
FLAMES Med C ++
FLAMES Med C ++
FLAMER Med C ++
FLAMER Med C ++

Hej vänner, vi vet alla om flammespelet. Lol, det är ett av de roligaste spelen som gjorde vår barndom mer lycklig. I den här instruktören kommer vi att se hur man kodar ett flammeprogram med C ++ -språket.

Steg 1: Begrepp som används

Begrepp som används
Begrepp som används

Här använde jag den cirkulärt dubbellänkade listan.

Steg 2: Huvudfunktion

int main ()

{

strängnamn1, namn2;

int n1, n2; cout << "ENTER FIRST NAME:"; getline (cin, namn1); cout << "ENTER SECOND NAME:"; getline (cin, namn2);

}

Först måste vi få de två namnen med blanksteg så jag använder funktionen getline () för att få strängen med mellanslag.

Steg 3: Hur utelämnar specialtecken?

void emit (string & a)

{

för (int i = 0; a ! = '\ 0'; i ++)

{

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

annars om (a > = 'A' && a <= 'Z') {}

annan

a = '0';

}

}

Nu måste vi ta bort specialtecknen som &, $, '' … etc. Genom att använda denna funktion tog vi bort alla andra tecken än alfabet. Här, istället för att ta bort, ersätter jag det med '0'.

Steg 4: Ta bort samma tecken

för (i = 0; namn1 ! = '\ 0'; i ++)

för (j = 0; namn2 [j]! = '\ 0'; j ++)

if ((namn1 == namn2 [j] || namn1 == namn2 [j] +32))

{

name1 = '0';

name2 [j] = '0';

ha sönder;

}

Det är det första steget i flammaspelet, Att vi måste ta bort samma tecken som finns i de två namnen. Detta kodavsnitt hjälper oss att ersätta samma tecken med '0' och det fungerar också bra även om det innehåller både stora och små bokstäver. Pausuttrycket hjälper oss att undvika att upprepade tecken tas bort.

j = 0; för (i = 0; namn1 ! = '\ 0'; i ++)

if (name1 ! = '0')

j ++;

för (i = 0; namn2 ! = '\ 0'; i ++)

if (name2 ! = '0')

j ++;

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

Här tar vi bort alla 0: or som finns i båda namnen. Därför tas slutligen alla tecken bort. Sedan ökas j till att det är antalet bokstäver som finns i båda namnen efter att samma tecken har tagits bort. Nu måste vi kontrollera om det innehåller minst ett tecken eller inte. För att göra koden effektiv måste vi berätta att det inte finns någon möjlighet att spela flammespelet om det inte innehåller några unika karaktärer.

Steg 5: Skapa cirkulär dubbel länkad lista

string a = "flames";

Skapa först en global sträng som innehåller "flames".

typedef struct -nod {

röding data;

nod *nästa, *föregående;

}nod;

nod *topp = NULL, *temp;

Skapa nu en struktur som innehåller teckendata, nästa adresspekare och tidigare adresspekare.

Skapa sedan en pekare som pekar mot toppen av den länkade listan.

nod* ins (tecken a) {

nod *ny1;

new1 = ny nod;

new1-> data = a;

new1-> nästa = NULL;

new1-> prev = NULL;

om (top == NULL)

{

topp = ny1;

temp = topp;

}

annan

{

temp-> nästa = new1;

new1-> prev = temp;

temp = new1;

}

tillbaka topp;

}

Sätt sedan in "flames" -strängen i den dubbel länkade listan efter tecken.

ogiltig kontroll (int j) {

int count1, flagga = 0;

för (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

}

Steg 6: Kod för att spela flammorna

Kod för att spela flammorna
Kod för att spela flammorna

ogiltig kontroll (int j)

{

int count1, flagga = 0;

för (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

nod *cur = topp, *prev1;

temp-> nästa = topp;

top-> prev = temp;

medan (1)

{

count1 = 1;

medan (count1 <j)

{

cur = cur-> nästa;

count1 ++;

}

nod *temp1 = cur;

prev1 = cur-> prev;

cur-> prev-> nästa = cur-> nästa;

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

temp1-> nästa = NULL;

gratis (temp1);

cur = prev1-> nästa;

nod *test = cur;

if (test-> data == test-> nästa-> data)

ha sönder;

}

}

vi måste köra den cirkulära listan som är "flames" -strängen enligt antalet unika tecken. Då måste vi ta bort tecknet i "flammor" som sammanfaller med räkningen. Vi bör inse användningen av en dubbel länkad lista i detta kodavsnitt. Det hjälper mycket att ta bort en viss karaktär. Det tar bort kontinuerligt. Tills det når villkoret att samma tecken kommer upprepade gånger.

om (test-> data == test-> nästa-> data) bryter;

Steg 7: Berätta resultatet

switch (cur-> data)

{

case 'f': cout << "VÄNNER &&";

ha sönder;

case 'l': cout << "LOVE <3";

ha sönder;

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

ha sönder;

case 'm': cout << "äktenskap:)";

ha sönder;

case 'e': cout << "Fiende:(";

ha sönder;

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

ha sönder; }

Använd denna switch -sats för att berätta det slutliga resultatet som är det sista tecknet som återstår efter att alla andra tecken har tagits bort enligt räkningen.

Nu kan du enkelt spela lågor genom att bara ange namnen, det är roligt rätt. Spela det här spelet med din väns namn och gör dem arga LOL. Tack.

Steg 8: Kod för Flames

Den fullständiga koden för FLAMES finns här, github.com/naveeen684/Flames-code-using-C-/tree/master