- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
- Házimozi haladó szinten
- Amlogic S905, S912 processzoros készülékek
- DUNE médialejátszók topicja
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Így nézz tévét 2025-ben: új ajánlások, régi szabályok
- NTFS, exFAT, FAT32 – Melyiket válaszd és miért?
- GeForce RTX 5050 kártyák az MSI portfóliójából
- OLED TV topic
- Fujifilm X
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
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
- Linux kezdőknek
- Okos Otthon / Smart Home
- Ford topik
- Xiaomi 13 Pro - szerencsés szám
- Házimozi haladó szinten
- Futás, futópályák
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Retro teló rajongók OFF topicja
- Amlogic S905, S912 processzoros készülékek
- További aktív témák...
- Lenovo ThinkCentre M720q/ Dell OptiPlex 3060- 3070/ Hp EliteDesk 800 mini, micro PC-Számla/garancia
- Bomba ár! Dell Latitude 7390 2in1 - i7-8G I 16GB I 256SSD I 13,3"FHD Touch I HDMI I Cam I W11 I Gar
- Csere-Beszámítás! AMD Számítógép PC Játékra! R5 5500 / RX 5700XT / 32GB DDR4 / 256SSD+1TB HDD
- Csere-Beszámítás! RTX Számítógép PC Játékra! I3 10100F / RTX 2060 12GB / 32GB DDR4 / 500GB SSD
- Csere-Beszámítás! RTX Számítógép játékra! R5 5600X / RTX 3080 / 32GB DDR4 / 1TB SSD
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest