Aktív témák
-
Jester01
veterán
Valamelyest a te módszerednél maradva úgy írtam át a progid, hogy az act mindig a következõ emberre mutasson (induláskor az elsõre aki a 0 indexû), ekkor ehhez mindig (M - 1)-et kell hozzáadni. Ezzel a módosítással az 5 7 paraméterekre a 2 5 1 3 4 eredmény adódik ami remélhetõleg jó.
A számítási ciklus nekem ilyen lett:
while (done < N)
{
act += M - 1;
if (act >= x)
{
act = act % x;
}
eh[done++] = szamok[act];
if (act == x - 1)
{
/* ha az utolso volt, akkor nem kell mozgatni a tombben */
/* es a kovetkezo az elso lesz */
act = 0;
} else {
/* ha nem az utolso, akkor a tovabbi elemeket eggyel visszahuzzuk */
/* es a soron kovetkezo elem ezaltal ismet az act indexen lesz */
memmove(szamok + act, szamok + act + 1, (x - act - 1) * sizeof(int));
}
x--;
}
Az elõzõ soremeléses megjegyzésem kicsit módosítom. Nyilván úgy lesz jó, ha a kiíró ciklus eggyel rövidebb és az utolsó elemet külön írod ki. Így megtakarítasz egy if-et a ciklusban ami úgyis csak az utolsó elemre lenne igaz.
Ha nekem kellett volna megoldani ezt a feladatot, akkor valószínûleg nem ezt az utat választom, hanem egy tömbben egyszerûen azt tartom nyilván, hogy az ember él-e még. Így kicsit bonyolultabb lesz ugyan a következõ index megkeresése, de cserébe megtakarítunk egy csomó memóriamásolást.
A végére még egy stilisztikai megjegyzés: nem szerencsés keverni az angol és a magyar elnevezéseket/megjegyzéseket, válaszd ki az egyik nyelvet és következetesen használd azt.
Aktív témák
- BestBuy topik
- Autós topik
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- PlayStation 5
- Milyen egeret válasszak?
- Jelentősen meglazítja a gyeplőt a Windows 11 frissítéseknél a Microsoft
- Nem indul és mi a baja a gépemnek topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gran Turismo
- E-roller topik
- További aktív témák...
- Logitech MX Keys S billentyűzet WIN/MAC
- Komplett PC Szett i5 / R9 380 / 1TB Samsung SSD / Monitor + Perifériák
- ÚJ HP EliteBook 8 G1i Intel Core Ultra 5 14" FHD+ 2029.01.08-ig Garanciás
- Lenovo ThinkPad T14 Gen 3 (T14 G3) i7 / 16GB RAM / 512GB SSD / WUXGA / Win11 Pro 12 hó garancia
- Samsung S32F351FUU 32" LED Monitor
- Lenovo A285 12,5" FHD - Ryzen 5 pro 2500U, 8GB RAM, 256GB SSD, jó akku, számla, garancia
- 220 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4070
- BESZÁMÍTÁS! LG UltraGear 27GQ50F-B FHD 165Hz 5ms monitor garanciával hibátlan működéssel
- Licencek
- HP ProBook 650 G5 - i5 8265U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
