-
GAMEPOD.hu
Új hozzászólás Aktív témák
-
Miracle
senior tag
válasz * GeniuS * #950 üzenetére
inkabb te ird, hogy mi a problema, hatha mas is tanul belole! (egyebirtan en pl. lehet tudok segiteni)
értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
* GeniuS *
tag
Irtam mailt.mert ide nem tudtam felrakni..
-
emitter
őstag
válasz * GeniuS * #950 üzenetére
szerintem itt kérdezz: [link]
linux topic, de az végülis unix , biztos tudnak segíteni -
s1ny1
tag
hello!
tudna valaki jól működő öröknaptárat lehetőleg pascal nyelven, de végülis az algoritmusa is elég -
corm
senior tag
Itt is van egy ni.
The following is an algorithm by which the date of Easter may be calculated.
Divide by Quotient Remainder
--------------------------------------------------------------
the year x 19 - a
the year x 100 b c
b 4 d e
b + 8 25 f -
b - f + 1 3 g -
19*a + b - d - g + 15 30 - h
c 4 i k
32 + 2*e + 2*i - h - k 7 - l
a + 11*h + 22*l 451 m -
h + l - 7*m + 114 31 n p
Then n is the number of the month (3 = March; 4 = April) and p + 1 is the day of that month upon which Easter Sunday falls. The symbol * means the product of the two numbers.
na ez így eléggé nem fér ki nálam szal itt jobban megskubizható, emg van még két másik alg. is: [link]
A pünkösd a húsvétot, pedig pontosan 7 héttel követi.
[Szerkesztve]
[Szerkesztve]Y N W A
-
Protezis
őstag
Elég egyszerű feladat. Lényegében meg kell számolni, hány nap telt el 1600. jan. 1-je óta.
Ezt elosztod héttel, és a maradékból következik, milyen nap van.
Az eltelt napok kiszámításánál pedig megnézed, hány 400-al osztható év volt, hány 100-zal osztható, hány 4-el osztható, és ezek függvényében kiszámítod a napok számát. -
emitter
őstag
Nekem az a kérdésem, hogy devc++ miért nem értelmezi a turboC függvényeket?
pl. randomize, random, clrscr, gotoxy stb.
egyáltalán mi az a turbo c? a devc++ a szabványos ansi c-elemeken kívül más nem kezel?
ha pl. clrscr nincs, akkor hogyan tudom törölni a karakteres képernyőt?
hogyan tudok karakterkiírást pozicionálni?
várom az ötleteket
Jester01: ez valami megállapodás? csillagászati okai vannak?
[Szerkesztve] -
emitter
őstag
-
Jester01
veterán
csillagászati okai vannak?
Igen. Az év hossza (kb) 365.242199 nap. Vagyis 4 évente majdnem egy teljes nap (0.97) csúszás van.
Ha ezt teljes napként korrigáljuk, akkor 100 év alatt már kb 0.78 nappal ''túlkorrigáltunk'', ezért azt visszavesszük (igazából elég lenne 125 évenként, de így egyszerûbb). Így viszont megint alulkorrigálunk, ezért a 400 éves szabály. És így tovább. Ráadásul a szökõmásodpercekrõl még nem is beszéltünk.Jester
-
-
Steve-S
tag
Sziasztok!
Kellene nekem egy kis segítség C programozásból. Egyetemre járok és programozásból kiadtak egy feladatot, de sajnos nem állok még olyan szinten hogy egy komolyabb programot meg tudjak írni. Persze azt várják, hogy 3 hónap alatt profi szinten tudjam a C nyelvet, de ez most mindegy. A határidő december 10 körül van. Leírom a feladatot:
----------------------------------------------------------------------------------------------------------------------------------
Készítsen olyan C programot, amelyet le lehet fordítani Linux alatt! A programnak meg kell felelnie a házi szabványnak.
Készítsen olyan programot, amelynek a következő funkciói vannak:
- adott kapcsolóval lehetőség van egy fájlba beírni egy jegyzék fájljainak nevét (aljegyzékeket is),
- adott minta alapján megkeresi a kiindulási jegyzék hierarchiából az összes fájlt olymódon, hogy a fent említett fájlban keresi meg előbb a fájlt, és ott megtalálta akkor kiírja az útvonalat, ha nincs fájl akkor megkeresi, és frissíti az ''adatbázisát''!
A parancssori kapcsolók:
- Adatbázis létrehozás/frissítés:kereso - update kiindulasi_pont - Fájlkeresés:kereso kiindulasi_pont minta
Kiindulasi pont lehet pl.: /home/, /temp stb.
----------------------------------------------------------------------------------------------------------------------------------
Nem kérem hogy csinálja meg valaki helyettem, csak kellene egy kis segítség, hogy mégis hogyan kezdjek neki, milyen függvényeket használjak stb. Lehet hogy nem olyan nehéz a feladat, biztos csak én vagyok ennyire lámer, de örülnék ha segítenétek!
Amúgy voltak ennél sokkal durvább feladatok is, de nekem ezt tűnt a legkönnyebbnek ezért ezt választottam.
A segítségeket előre is köszönöm!Set The World On Fire!!!
-
emitter
őstag
válasz Jester01 #970 üzenetére
bocs, de az ncurses linuxos, nekem meg még sajna windózom van
a winapi-s dolgot nem igazán értem: ez miért dolgozik mindenféle windózos cuccokkal, mikor konzolban fut a progi? mi nem tanultunk még ilyeneket, szal a c nyelv ezen része elég kínai
egyszerűbben nem lehet megoldani a dolgot? devc-t nem tudom rávenni arra, h elfogadja a borlandos függvényeket? -
Jester01
veterán
Az ncurses sem kifejezetten linuxos és azt különben is csak a referencia miatt tettem be.
Maga a curses (mert azt írtam) az platformfüggetlen, van windowsra is.
A winapinál meg ne keverjük a szezont a fazonnal. Winapi, mert az operációs rendszert szerencsétlen módon windowsnak hívják. De ezek nem grafikus függvények, mint ahogy egy csomó más winapi függvény sem. Például a kurzor pozíciót a SetConsoleCursorPosition függvénnyel lehet állítani.
Sajna konkrétan devc-hez nem értek, nem tudom mire lehet rávenni és mire nem.
A haragos smileyt meg mivel érdemeltem ki?Jester
-
-
emitter
őstag
válasz Jester01 #976 üzenetére
ok, köszi
akkor megpróbálkozom ezzel a winapival
ez ugye szabványos cucc, devc ismerni fogja?
ha nem az se baj, nemsokára visualC-t szerzek
a haragos szmájli nem neked szólt, hanem a windóznak, vagy inkább magának a helyzetnek, hogy még mindig windózt használok, mert suli közben egyszerűen nincs időm linuxot fölrakni, megszokni, beletanulni
majd talán karácsony után, meg a vizsgaidőszak elteltével lesz erre mód... addig még szívok egy picit a puhával -
Jester01
veterán
Akkor biztos a szokásos wildcard globbingra gondol (* és ?), ehhez az fnmatch függvény kell még neked.
Az adatbázis készítéshez megnyitod a megadott kiindulási directoryt (opendir), végigmész a bejegyzéseken (readdir) amiket kiírsz egy szövegfájlba. Ha directoryról van szó, akkor rekurzívan meghívod ezt a feldolgozó függvényt. A végén szépen bezárod a directoryt (closedir).
Keresésnél simán sorokat olvasol az adatbázis fájlból és az fnmatch függvényt hívogatva ellenõrzöd az illeszkedést. Ha nem találtál semmit, akkor meghívod az adatbázis készítõ függvényt és újra próbálod.
Még arra érdemes esetleg figyelni, hogy abszolút elérési utat használj.
Ha konkrét kérdésed van írj ide, dobj mailt, vagy nyugodtan keress aimon.Jester
-
Jester01
veterán
Igen, ez az oprendszer része. Kérdés, van-e hozzá header és lib, de ne már, hogy ne legyen.
Header Declared in Wincon.h, include Windows.h.
Library Link to Kernel32.lib.
DLL Requires Kernel32.dll.
Egyébként egy win32 curses implementáció a pdcurses. [link]
[Szerkesztve]Jester
-
emitter
őstag
válasz Jester01 #980 üzenetére
köszi a linkeket!
végülis rátaláltam egy oldalra, és ezzel oldottam meg a problémát [link]
viszont nem igazán tudom értelmezni a clrscr() -t
úgyhogy írtam egy saját törlőfv-t, de nem tudom, h meddig töröljem a képernyő tartalmát, azaz hányadik sorig
nem értek hozzá, de ha egy konzolablakban véget ér valahol a szöveg, akkor az utolsó karakterhelyen áll valamilyen lezárókarakter (pl. '\0') ?
vagy hogyan oldhatnám meg, hogy takarékosság miatt pontosan csak az utolsó sorig törölje a képernyőt?
vagy olyan cucc, ami az adott kurzor-pozíción álló karaktert adja vissza? -
Jester01
veterán
viszont nem igazán tudom értelmezni a clrscr() -t
Ez a kód egy-az-egyben a microsoft oldaláról van, csak kitörölték a megjegyzéseket Itt az eredeti: [link]
ha egy konzolablakban véget ér valahol a szöveg, akkor az utolsó karakterhelyen áll valamilyen lezárókarakter
Nem.
hogyan oldhatnám meg, hogy takarékosság miatt pontosan csak az utolsó sorig törölje a képernyőt
Megjegyzed mennyit írtál ki.
az adott kurzor-pozíción álló karaktert adja vissza
ReadConsoleOutputCharacter [link]Jester
-
KMan
őstag
Sziasztok, záros hatéridőn belül megkéne tanulnom C++ nyelven programozni, szerintetek melyik lenne a célra legalkalmasabb könyv amiból frankón megtanulhatnék teljesen kezdő szintről mesterig, kb 1 hónap alatt?
köszi szőpen előre is!Csak a balekok alszanak [SAS]
-
emitter
őstag
ha minden nap otthon ülnél, és programoznál, akkor talán lenne erre esély, de nem hiszem, hogy működne a dolog...
egyáltalán mit értesz az alatt, hogy ''mesteri szint'' az ember mindig tanulhat valami újat
könyvet sajna csak C-t tudok ajánlani, mert mi azt tanulunk (a Benkő-Tóth féle), de uennek a kiadónak van C++os könyve is, az se lehet rosszabb [link] -
emitter
őstag
az mit jelent hogy ''invalid use of array with unspecified bounds''
másik, hogy van egy 2D-s tömböm, ennek hogyan tudom a méretét (sorok/oszlopok) kiszámítani?
szóval egy függvénynek akarom átadni a tömböt paraméterként, és a fv belül kéne, h tudja a sorok és oszlopok számát (fájlba akarom írni a tömböt, na ennyi a lényeg) -
Jester01
veterán
az mit jelent hogy ''invalid use of array with unspecified bounds
Nemtom, szerintem pont olyasmit, amihez ismerni kellene a méretet. (sizeof pl.)
szóval egy függvénynek akarom átadni a tömböt paraméterként, és a fv belül kéne, h tudja a sorok és oszlopok számát
Ehhez át kell adnod a méretet is paraméterben.Jester
-
Miracle
senior tag
ha c++al komolyan akarsz foglalkozni akkor csakis a Bjarne Stroustrup fele ketkotetes szornyeteg johet szamitasba.
es nagyon dicseretes az elszantsag, de en egy kezemen meg tudom szamlalni hany embert ismerek aki mesteri szinten ismeri a c++ nyelvet, es mindannyiuk mellett ott figyel legalabb 5 ev gyakorlat, de inkabb tobb. szoval azt kell megerteni hogy a c++ a konkurrens nyelvekhez viszonyitva elkepesztoen osszetett rendszer, nagyjabol vitan felul a legosszetettebb nyelv most a mainstream prog.nyelvek kozott. persze ennel kevesebb is eleg ahhoz, hogy tudjal programokat irogatni, de a mesteri szint evek kerdese intenziv tanulas MELLETT anelkul meg sosem fogsz oda eljutni.
sok sikert!értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
Miracle
senior tag
ha Jester valasza alapjan nem sikerult rajonni a problemara vazolj ide par sor kodot hogy mi is elmelyedhessunk a problemaban.
es ha fordito hibauzeneteket idezel legyszives fordito nevet (esetleg ver.szamat) is mellekeld kosziértelmező késziszótár :: rekurzió --> lásd : rekurzió
-
KMan
őstag
C++ progizás az ugye .cpp - be ment? bocsesz,de láma vagyok
Csak a balekok alszanak [SAS]
-
emitter
őstag
Szerintetek hogyan érdemes egy aknakereső progit írni: konzolos, dos-grafikás, vagy esetleg windóz-grafikás a jó választás? A tanárom szerint a win-grafika nem nehéz, de én mégsem érzem olyan hűdekönnyűnek
Az feltétel lenne, hogy a koordinátákat ne kézzel kelljen megadni (beírni), hanem kurzornyilakkal elnavigálni a megfelelő celláig, majd enter.
Win-grafikával pedig egérrel kéne kattintani.
Konzolos ablakban meg lehet jeleníteni a kurzort, és lehet pozicionálni?
konzolos ablakon nem dos-ablakot, hanem wineset értek. -
emitter
őstag
válasz Jester01 #995 üzenetére
köszi szépen!
még csak most tanulgatom a C-t, nem megy minden elsőre
lenne még egy kérdésem:
-az aknakereső-progimban egy két dimenziós tömbben tárolnám az egyes cellák tulajdonságait, azaz a tömb minden eleme egy struktúra lenne
-a tömb méretét a progi futása közben a felhasználó adná meg (mekkora pályán akar játszani)
-van egy-két függvényem, amelyeknek ezt a 2D-s tömböt kéne átadni paraméterben, úgy, hogy változtatni is tudják a tartalmát (gondolom a tömb címét kell átadni)
és akkor a kérdés: hogyan érdemes megvalósítani ezt a tömböt? Globális változóként deklarálni, vagy csak a main-en belül, vagy van vmi egyszerűbb és jobb megoldás a bonyolult tömb kiváltására?
(próbáltam már mindenféleképpen megvalósítani ezt a rendszert, de a progi a függvények hívásakor mindig elszáll, és nem tudom, hol a hiba )
köszi előre is! -
Jester01
veterán
még csak most tanulgatom a C-t, nem megy minden elsőre
Semmi probléma, próbálkozz és kérdezz nyugodtan
Alapvetően szebb, ha nem globális a tömböd. És hogy egyszerűbb legyen dolgozni vele,
rakd bele egy struktúrába, pl így:struct cell {
...
};
struct state {
int xsize;
int ysize;
struct cell* cells;
...
};
Innentől kezdve elég egy state típusú változót átadni a függvényeidnek, és egyben megkapják a szükséges információkat. Ha valóban kétdimenziós tömböt akarsz, akkor
struct cell** cells kell, csak ilyenkor bonyolultabb az inicializálás és felszabadítás (cserébe viszont egyszerűbb az indexelés).Jester
-
emitter
őstag
válasz Jester01 #997 üzenetére
aha, akkor ezt most a main-be írjam?
ha jól érteleztem, akkor lesz egy state típusú struktúrám, aminek elemei a 2D-s tömb méretei, és egy cell típusú elemekből álló cells nevű struktúra?
miért kell a cell*, miért nem elég a cell?
mit tárolnék a cell típusban?
mégis maradnék a 2D-s tömbnél, erre is tudnál írni egy deklaráció-példát?
én így írtam eddig:
struct cell
{
int vmi;
int vmi;
...
} cella;
cell **tomb (azért nem tomb[][], mert így meg kéne adnom előre a mértetét) -
Jester01
veterán
aha, akkor ezt most a main-be írjam?
A típus deklarációt ne (azt kirakhatod egy header fájlba), csak a példányosítást.
mit tárolnék a cell típusban?
Amit akarsz, te írtad: egy két dimenziós tömbben tárolnám az egyes cellák tulajdonságait, azaz a tömb minden eleme egy struktúra lennestruct state {
int xsize;
int ysize;
struct cell** cells;
...
};
A kétdimenziós tömb tulajdonképpen egy pointertömbre mutató pointer, ezért ciklusban kell lefoglalni:
[link]
Figyelj oda, hogy a te példádban definiáltál egy cella nevű globális változót, amire nincs szükséged. Ha tulajdonképpen rövid nevet akartál, akkor egy typedef kell elé:typedef struct cell
{
int vmi;
int vmi;
...
} cella;Jester
-
emitter
őstag
válasz Jester01 #999 üzenetére
Hát nagyon hálás vagyok neked, pont ez a linkelt oldal kellett nekem
tök érthetően leír mindent, pedig ráadásul angol
akkor nekem uezt kell leírnom, csak a mutatók nem int-re hanem egy struct-ra fognak mutatni, ugye?
így:
...
typedef struct
{
int...
} palya;
...
main()
{
...
palya **cella;
...
cella=malloc(mx*sizeof(palya*)); //dinamikus memoriafoglalas
if(cella==NULL)
{
fprintf(stderr,''Out of memory!\n'');
return -1;
}
for(i=0;i<my;i++)
{
cella=malloc(my*sizeof(palya));
if(cella==NULL)
{
fprintf(stderr,''Out of memory!\n'');
return -1;
}
}
for(i=0;i<mx;i++) free(cella); //memoriafelszabaditas
free(cella);
...
Más:
ez végtelen ciklusba kerül, ha karaktert adok be neki, miért?
do{
system(''cls'');
temp=0;
printf(''Mekkora palyan szeretne jatszani? (sor,oszlop) '');
temp=(scanf(''%d, %d'',&mx,&my));
if(temp==NULL) continue;
}
while(temp!=2); //bekeres, amig pont 2 parametert kapunk
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Politika
- Olcsóbb lett a Tesla Full Self-Driving szoftvere
- exHWSW - Értünk mindenhez IS
- A fociról könnyedén, egy baráti társaságban
- Gumi és felni topik
- Fallout 4
- AMD GPU-k jövője - amit tudni vélünk
- Renault, Dacia topik
- Musk szerint már jövőre itt vannak a Tesla Optimus humanoid robotok
- ASUS ROG Ally
- További aktív témák...