Inhaltsverzeichnis:
- Schritt 1: Verwendete Konzepte
- Schritt 2: Hauptfunktion
- Schritt 3: Wie kann man Sonderzeichen auslassen?
- Schritt 4: Entfernen derselben Zeichen
- Schritt 5: Erstellen einer kreisförmigen doppelt verknüpften Liste
- Schritt 6: Code zum Spielen der Flammen
- Schritt 7: Sagen Sie das Ergebnis
- Schritt 8: Code für Flammen
Video: FLAMES mit C++ - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Hallo Freunde, wir alle kennen das Flammenspiel. Lol, es ist eines der lustigsten Spiele, das unsere Kindheit glücklicher gemacht hat. In diesem anweisbaren werden wir sehen, wie man ein Flames-Programm mit der Sprache C++ codiert.
Schritt 1: Verwendete Konzepte
Hier habe ich die doppelt verkettete Liste des Rundschreibens verwendet.
Schritt 2: Hauptfunktion
int main()
{
Zeichenfolge name1, name2;
int n1, n2; cout<<"VORNAME EINGEBEN:"; getline(cin, name1); cout<<"ZWEITEN NAMEN EINGEBEN:"; getline(cin, name2);
}
Zuerst müssen wir die beiden Namen mit Leerzeichen abrufen, also verwende ich die Funktion getline(), um den String mit Leerzeichen zu erhalten.
Schritt 3: Wie kann man Sonderzeichen auslassen?
void emit(Zeichenfolge &a)
{
for(int i=0;a!='\0';i++)
{
if(a>='a'&&a<='z') {}
sonst if(a>='A'&&a<='Z'){}
anders
a='0';
}
}
Jetzt müssen wir die Sonderzeichen wie &, $, ' ' usw. entfernen. Durch die Verwendung dieser Funktion haben wir alle Zeichen außer Alphabeten entfernt. Anstatt es zu entfernen, ersetze ich es hier durch '0'.
Schritt 4: Entfernen derselben Zeichen
for(i=0;name1!='\0';i++)
for(j=0;name2[j]!='\0';j++)
if((name1==name2[j] || name1==name2[j]+32))
{
name1='0';
name2[j]='0';
brechen;
}
Es ist der erste Schritt des Flames-Spiels, dass wir die gleichen Zeichen entfernen müssen, die in den beiden Namen vorkommen. Dieses Code-Snippet hilft uns, die gleichen Zeichen durch '0' zu ersetzen, und es funktioniert auch gut, obwohl es sowohl Groß- als auch Kleinbuchstaben enthält. Die break-Anweisung hilft uns, das Entfernen von sich wiederholenden Zeichen zu vermeiden.
j=0;for(i=0;name1!='\0';i++)
if(name1!='0')
j++;
for(i=0;name2!='\0';i++)
if(name2!='0')
j++;
if(j==0) cout<<"KEINE FLAMMEN";
Hier entfernen wir alle '0's, die in beiden Namen vorhanden sind. Daher werden schließlich trotzdem Zeichen entfernt. Dann wird das j so hochgezählt, dass es die Anzahl der Buchstaben ist, die in beiden Namen vorhanden sind, nachdem die gleichen Zeichen entfernt wurden. Jetzt müssen wir überprüfen, ob es mindestens ein Zeichen enthält oder nicht. Um den Code effizient zu machen, müssen wir sagen, dass es keine Möglichkeit gibt, das Flames-Spiel zu spielen, wenn es keine einzigartigen Charaktere enthält.
Schritt 5: Erstellen einer kreisförmigen doppelt verknüpften Liste
string a="Flammen";
Erstellen Sie zunächst eine globale Zeichenfolge, die "Flammen" enthält.
typedef-Strukturknoten{
Zeichendaten;
Knoten *weiter, *zurück;
}Knoten;
Knoten *top=NULL, *temp;
Erstellen Sie nun eine Struktur, die Zeichendaten, den nächsten Adresszeiger und den vorherigen Adresszeiger enthält.
Erstellen Sie dann einen Zeiger, der auf den Anfang der verknüpften Liste zeigt.
Knoten* ins(Zeichen a){
Knoten *neu1;
new1=neuer Knoten;
neu1->Daten=a;
new1->next=NULL;
new1->prev=NULL;
if(top==NULL)
{
top=neu1;
temp=oben;
}
anders
{
temp->weiter=neu1;
neu1->vorher=temp;
temp=neu1;
}
zurück nach oben;
}
Fügen Sie dann den String "flames" zeichenweise in die doppelt verkettete Liste ein.
Scheck ungültig (int j) {
int count1, Flag=0;
for(int i=0;a!='\0';i++)
top=ins(a);
}
Schritt 6: Code zum Spielen der Flammen
Scheck ungültig (int j)
{
int count1, Flag=0;
for(int i=0;a!='\0';i++)
top=ins(a);
Knoten *cur=top, *prev1;
temp->weiter=oben;
oben->vorher=temp;
während(1)
{
count1=1;
while(count1<j)
{
cur=cur->weiter;
zählen1++;
}
Knoten *temp1=cur;
prev1=aktuell->prev;
cur->prev->next=cur->nächste;
cur->next->prev=cur->prev;
temp1->weiter=NULL;
frei(temp1);
cur=prev1->nächster;
Knoten *test=cur;
if(test->data==test->next->data)
brechen;
}
}
Wir müssen die zirkuläre Liste ausführen, die die Zeichenfolge "Flammen" gemäß der Anzahl der eindeutigen Zeichen ist. Dann müssen wir das Zeichen in "Flammen" entfernen, das mit der Zählung übereinstimmt. Wir sollten die Verwendung einer doppelt verketteten Liste in diesem Code-Schnipsel erkennen. Es hilft sehr, ein bestimmtes Zeichen zu entfernen. Es entfernt kontinuierlich. Bis es die Bedingung erreicht, dass die gleichen Zeichen wiederholt kommen.
if(test->data==test->next->data) break;
Schritt 7: Sagen Sie das Ergebnis
switch(cur->data)
{
case 'f':cout<<"FREUNDE&&";
brechen;
case 'l':cout<<"LOVE<3";
brechen;
case 'a':cout<<"AFFECTION$";
brechen;
case 'm':cout<<"EHE:)";
brechen;
case 'e':cout<<"FEIND:(";
brechen;
case 's':cout<<"SIBLING";
brechen; }
Verwenden Sie diese switch-Anweisung, um das Endergebnis anzugeben, das das letzte Zeichen ist, das übrig bleibt, nachdem alle anderen Zeichen gemäß der Anzahl entfernt wurden.
Jetzt können Sie einfach Flammen spielen, indem Sie einfach die Namen eingeben. Es ist schon lustig. Spielen Sie dieses Spiel mit den Namen Ihrer Freunde und machen Sie sie wütend LOL. Dankeschön.
Schritt 8: Code für Flammen
Den vollständigen Code für FLAMES finden Sie hier, github.com/naveeen684/Flames-code-using-C-/tree/master