Hirdetés
- jakra: Retro gyujtemenyem (cloud synced for safety...)
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- Pötyi: 4. RETRO KONZOL ÉS SZÁMÍTÓGÉP BÖRZE - '25. november 16.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- Mr Dini: Mindent a StreamSharkról!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- gban: Ingyen kellene, de tegnapra
Aktív témák
-
Beri
addikt
Hello!
Segítséget szeretnék kérni. Épp egy feladattal ügyködök, de valami miatt néha hibás eredményt dob a progi...
Tehát a feladat:
Kivégzéssorrend megállapítása
N ember helyezkedik el egy kör mentén. Az elsőtől elindulva minden M-ediket lelövik. A számlálásban csak az élők vesznek részt, a számolást a kivégzett utáni embernél folytatjuk. Készíts olyan programot,
ami adott N és M esetén kiírja a kivégzések sorrendjét.
Bemenet
A bemenet két egész szám, N és M egy szóközzel elválasztva (1 < N < 255; 1 < M < 32767).
Kimenet
A kimenet a kivégzettek sorszáma legyen (1-től indulva), egy-egy szóközzel elválasztva. Az utolsó
kivégzett után egy újsor karakternek kell következnie.
Pl:
Bemenet: 10 2
Kimenet: 2 4 6 8 10 3 7 1 9 5
Erre ezt sikerült összehozni:
#include <stdio.h>
#include <math.h>
int main()
{
FILE *bef,*kif;
int szamok[255];
int eh[255];
int i,j,k,x,act,M,done,N;
bef = fopen (''be.txt'',''r'');
kif = fopen (''ki.txt'',''w'');
fscanf(bef,''%d %d\n'', &N, &M);
done=0;
act=-1;
x=N;
for (i=0;i<=N;i++) szamok=i+1;
while (done<N)
{
act += M;
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;
}
eh[done++]=szamok[act];
}
for (i=0;i<done;i++)
if (i<(done-1))
fprintf(kif,''%d '', eh);
else
fprintf(kif,''%d\n'', eh);
fclose(bef);
fclose(kif);
return 0;
}
A progi pl. 5 7 bemenet esetén ad rossz kimenetet. Előre is köszönöm ha valaki segít rajtam...
Aktív témák
- LG 49WQ95X-W - 49" NANO IPS - 5120x1440 Dual QHD - 144Hz - USB Type-C - HDR 400 - G-Sync - FreeSync
- Samsung DLP projektor, The Freestyle SP-LSP3B
- Apple Watch Ultra, Újszerű,Dobozával, 12 hónap garanciával
- Garmin Vivomove 3S Hybrid okosóra Használt, karcmentes állapotban 3 hónap garanciával!
- Bomba ár! Lenovo ThinkPad T550 - i5-5GEN I 8GB I 256GB SSD I 15,6" FHD I Cam I W10 I Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

