Përmbajtje:
- Hapi 1: Konceptet e përdorura
- Hapi 2: Funksioni kryesor
- Hapi 3: Si të anashkaloni personazhe të veçantë?
- Hapi 4: Heqja e karaktereve të njëjta
- Hapi 5: Krijimi i Listës Rrethore të Lidhur Dyfish
- Hapi 6: Kodi për të luajtur flakët
- Hapi 7: Tregoni Rezultatin
- Hapi 8: Kodi për Flakët
Video: FLAKET Përdorimi i C ++: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Përshëndetje miq, Ne të gjithë e dimë për lojën e flakëve. Lol, shtë një nga lojërat më qesharake që e bëri fëmijërinë tonë më të lumtur. Në këtë udhëzues, ne do të shohim se si të kodojmë një program flakësh duke përdorur gjuhën C ++.
Hapi 1: Konceptet e përdorura
Këtu kam përdorur listën Qarkore të lidhur dyfish.
Hapi 2: Funksioni kryesor
int kryesore ()
{
vargu name1, name2;
int n1, n2; cout << "HYRJE EMRIN E PARST:"; getline (cin, emri 1); cout << "HYRJE EMRIN E DYT::"; getline (cin, emri2);
}
Së pari, ne duhet të marrim dy emrat me hapësirë, kështu që unë përdor funksionin getline () për të marrë vargun me hapësirë.
Hapi 3: Si të anashkaloni personazhe të veçantë?
emetim i zbrazët (vargu & a)
{
për (int i = 0; a ! = '\ 0'; i ++)
{
nëse (a > = 'a' && a <= 'z') {}
përndryshe nëse (a > = 'A' && a <= 'Z') {}
tjeter
a = '0';
}
}
Tani, ne duhet të heqim karakteret speciale si &, $, '' … etj. Duke përdorur këtë funksion ne kemi hequr të gjitha karakteret përveç alfabeteve. Këtu, në vend që ta heq, e zëvendësoj me '0'.
Hapi 4: Heqja e karaktereve të njëjta
për (i = 0; emri1 ! = '\ 0'; i ++)
për (j = 0; emri2 [j]! = '\ 0'; j ++)
nëse ((emri1 == emri2 [j] || emri1 == emri2 [j] +32))
{
emri1 = '0';
emri2 [j] = '0';
pushim;
}
Shtë hapi i parë i lojës së flakëve, që na duhet të heqim të njëjtët personazhe që paraqiten në të dy emrat. Ky fragment i kodit na ndihmon të zëvendësojmë të njëjtat karaktere me '0' dhe gjithashtu funksionon mirë edhe nëse përmban të dyja shkronjat e mëdha dhe të vogla. Deklarata e pushimit na ndihmon të shmangim heqjen e karaktereve të përsëritura.
j = 0; për (i = 0; emri1 ! = '\ 0'; i ++)
nëse (emri1 ! = '0')
j ++;
për (i = 0; emri2 ! = '\ 0'; i ++)
nëse (emri2 ! = '0')
j ++;
nëse (j == 0) cout << "JO FLAMES";
Këtu, ne heqim të gjithë '0' që janë të pranishëm në të dy emrat. Prandaj, më në fund, të gjithë njësoj, personazhet hiqen. Pastaj j shtohet se është numërimi i shkronjave që janë të pranishme në të dy emrat pas heqjes së karaktereve të njëjta. Tani duhet të kontrollojmë nëse përmban të paktën një karakter apo jo. Për ta bërë kodin efikas duhet të themi se nuk ka mundësi për të luajtur lojën e flakëve nëse nuk përmban karaktere unike.
Hapi 5: Krijimi i Listës Rrethore të Lidhur Dyfish
vargu a = "flakë";
Së pari, krijoni një varg global që përmban "flakë".
nyja strukturore typedef {
të dhëna char;
nyja *tjetër, *e mëparshme;
} nyje;
nyja *krye = NULL, *temp;
Tani, krijoni një strukturë që përmban një të dhënë të karakterit, treguesin e adresës tjetër dhe treguesin e mëparshëm të adresës.
Pastaj krijoni një tregues që tregon në krye të listës së lidhur.
nyje* ins (char a) {
nyja *new1;
new1 = nyje e re;
new1-> data = a;
new1-> tjetër = NULL;
new1-> prev = NULL;
nëse (lart == NULL)
{
krye = new1;
temp = lart;
}
tjeter
{
temp-> tjetër = new1;
new1-> prev = temp;
temp = new1;
}
kthehu në krye;
}
Pastaj, futni vargun "flakë" në listën e lidhur dyfish sipas karakterit.
kontroll i pavlefshëm (int j) {
int numër 1, flamur = 0;
për (int i = 0; a ! = '\ 0'; i ++)
krye = ins (a );
}
Hapi 6: Kodi për të luajtur flakët
kontroll i pavlefshëm (int j)
{
int numër 1, flamur = 0;
për (int i = 0; a ! = '\ 0'; i ++)
krye = ins (a );
nyja *cur = lart, *prev1;
temp-> tjetra = lart;
top-> prev = temp;
ndërsa (1)
{
numërimi 1 = 1;
ndërsa (numërimi 1 <j)
{
cur = cur-> tjetër;
numëroni 1 ++;
}
nyja *temp1 = cur;
prev1 = cur-> prev;
cur-> prev-> next = cur-> next;
cur-> next-> prev = cur-> prev;
temp1-> tjetër = NULL;
falas (temp1);
cur = prev1-> tjetër;
nyje *test = cur;
nëse (test-> të dhëna == test-> tjetër-> të dhëna)
pushim;
}
}
ne duhet të drejtojmë listën rrethore që është vargu "flakë" sipas numërimit të karaktereve unike. Atëherë duhet të heqim karakterin në "flakë" që përkojnë me numërimin. Ne duhet të kuptojmë përdorimin e një liste të lidhur dyfish në këtë pjesë të kodit. Ndihmon shumë për të hequr një karakter të veçantë. Ai hiqet vazhdimisht. Derisa të arrijë kushtin që personazhet e njëjtë të vijnë në mënyrë të përsëritur.
nëse (test-> të dhëna == test-> tjetër-> të dhëna) prishen;
Hapi 7: Tregoni Rezultatin
kaloni (cur-> të dhënat)
{
rasti 'f': cout << "FRIENDS &&";
pushim;
rasti 'l': cout << "DASHURI <3";
pushim;
rasti 'a': cout << "AFFECTION $";
pushim;
case 'm': cout << "MARTESA:)";
pushim;
rasti 'e': cout << "ARMIKU:(";
pushim;
case 's': cout << "SIBLING";
pushim; }
Përdorni këtë deklaratë switch për të treguar rezultatin përfundimtar që është karakteri i fundit që mbetet pasi të keni hequr të gjithë karakteret e tjerë sipas numërimit.
Tani ju mund t'i luani flakët lehtë thjesht duke futur emrat, funnyshtë qesharake e drejtë. Luani këtë lojë duke përdorur emrat e shokut tuaj dhe zemërojeni ata LOL. Faleminderit.
Hapi 8: Kodi për Flakët
Kodi i plotë për FLAMES është në dispozicion këtu, github.com/naveeen684/Flames-code-using-C-/tree/master