- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- laskr99: Újrakezdem a processzor és videókártya szilícium magok fotózását
- VoidXs: Tényleg minden játék optimalizálatlan?
- Steven: Sokat utazó kávéfüggők ide!
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- droidic: Így beszélhetsz élő emberrel EA supportban
- Magga: PLEX: multimédia az egész lakásban
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. -
Jester01
veterán
Beszédesebb változónevek és néhány komment elkelne.
Valamit az ''5 7'' esetre várt jó illetve a kapott eredmény.
Ha jól látom x lenne a még életben lévõ emberek száma, a szamok tömb pedig az emberek eredeti sorszámát tartalmazza ahonnan mindig törlöd azokat akik sorra kerültek.
Ezt a részt itt nem értem:
if (act>=x)
{
act=act%x;
for (i=0;i<x;i++)
for (j=0;j<done;j++)
if (szamok==eh[j])
{
for (k=i;k<N;k++) szamok[k]=szamok[k+1];
x--;
}
act=act%x;
}
Az eredmény kiírásánál pedig egyszerûbb lenne \n nélkül kiírni az összes számot majd a végére egy \n magában. De ez csak apróság.
Szerintem lehetett volna békésebb szöveget keríteni a feladathoz
[Szerkesztve]
Aktív témák
- exHWSW - Értünk mindenhez IS
- One mobilszolgáltatások
- gban: Ingyen kellene, de tegnapra
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Mibe tegyem a megtakarításaimat?
- BIOS frissítés
- PROHARDVER! feedback: bugok, problémák, ötletek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- One otthoni szolgáltatások (TV, internet, telefon)
- Synology NAS
- További aktív témák...
- LG OLED55G42LW LG Gyári garancia 3 év
- HP EliteBook 840G6 ! AKCIÓ!!! a készlet erejéig!
- Kobo Aura Edition 2 (N236) 6" háttérvilágításos kijelzővel, 4 GB-os tárhellyel - jó állapotban
- HP ProBook 430 G8, 13,3" FHD IPS, I5-1135GU CPU, 16GB DDR4, 256GB SSD, WIN 11, 27% áfás számla, 1 év
- Playstation Portal - 3 hónap Bolti Garanciával
- LG 48C3 - 48" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen6 CPU
- LG 77G4 - 77" OLED evo - 4K 144Hz 0.1ms - MLA - 3000 Nits - NVIDIA G-Sync - AMD FreeSync - HDMI 2.1
- BESZÁMÍTÁS! Sony PlayStation4 PRO 1TB fekete konzol extra játékokkal garanciával hibátlan működéssel
- Samsung Galaxy A32 4G 128GB, Kártyafüggetlen, 1 Év Garanciával
- KATONAI ÜTÉSÁLLÓ!!! Getac S410 i5-6300u, G3: i5-8365u, G4: i5-1145G7
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest