Hirdetés
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Mr Dini: Mindent a StreamSharkról!
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
- Pitterix: Gyógytorna
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GoodSpeed: Kell-e manapság egérpad vagy sem?
- 
			  LOGOUT  
Új hozzászólás Aktív témák
- 
			
			  bdav őstag válasz  bambano
							
							
								#2154
							
							üzenetére bambano
							
							
								#2154
							
							üzenetérestr2t majd a hívó fél, ha változót adsz paraméterül akkor ciki lenne ha felszabadítaná, ha nem akkor abban nem vagyok biztos 
 realloccal igazad van, de C-ből a beépített függvényekből elég keveset tudok fejből (amikor tanultam nem kellett, azóta meg nem programozok C-ben)
- 
			
			  bdav őstag válasz  Forest_roby
							
							
								#2146
							
							üzenetére Forest_roby
							
							
								#2146
							
							üzenetéreén így csinálnám: 
 void append(char* str1, char* str2)
 {
 int len=strlen(str1)+strlen(str2)+1;
 char* temp=str1;
 str1=malloc(sizeof(char)*len);
 //itt valahogy belemásolod az str1be a tempet és mögéírod str2-t, akár beépített
 //függvényekkel vagy egy ciklussal, lezárni ne felejtsd el
 free(temp);
 }
 ekkor az első paraméterhez hozzáfűzi a másodikat.
 ja és kimenet számára nem kell lefoglalni előre helyet, append foglal magának (ha raksz bele ellenőrzést str1 nullságára, akkor lehet így:
 char* str=null;
 append(str, ''akarmi'' /*ide jöhet változónév is */ );
 [Szerkesztve]
- 
			
			  bdav őstag ezzel a legnagyobb baj az h. karaktert akarsz stringgel hasonlítani. u.i. ha jól látom ahogy a motor legyakta az [ i ] -t akkor ez van: 
 switch(str_in [i ])
 {
 ...
 case ''á''
 ...
 namost az str_in[ i] az 1 db char típusú lesz a ''á'' viszont char* ot eredményez. ''á'' helyett 'á' kellene.
 másik gáz az lesz hogy az str_outban mindig csak egy karakter kerül majd be. ráadásul ezt megcsinálod hogy str_out = ''á'' akkor az foglal szépen helyet egy egy karakter hosszú stringnek, lezárja \0-al aztán ha mögé akarsz írni akkor az hogy string_out[ 2] az nem túl szép és nem is fog működni (az 1 dolog hogy nem lefoglalt memóriaterületre írsz, de ugyis csak a \0-ig látja stringnek, ha meg azt írod felül akkor a memóriát kilistázza majd az első 0-ig ) )
 a helyedben én írnék egy eljárást ami két char* -ot vár paraméterül és a másodikat hozzáfűzi az elsőhöz (nemtom van e ilyen beépített függvény v. nincs). Vagy használj C++-t és String osztályt 
 mégvalami: 2 C stringet nem tudsz ==-vel összehasonlítani, arra való az strcmp, pár hszel ezelőtt volt róla szó.
 [Szerkesztve]
- 
			
			  bdav őstag válasz  Forest_roby
							
							
								#2118
							
							üzenetére Forest_roby
							
							
								#2118
							
							üzenetérehasználd csak nyugodtan, ha direkt nem kötötték ki hogy nem lehet, télleg azért rakták bele  ha nagyon nem akarsz akkor kb. 4 sorban lehet írni sajátot, nem bonyolult annyira. ha nagyon nem akarsz akkor kb. 4 sorban lehet írni sajátot, nem bonyolult annyira.
- 
			
			  bdav őstag ha charként olvasod be akkor ha azt látod a fájlban hogy '2' akkor nem 2 fog bekerülni hanem a '2' mint karakter kódja, ezért az eltérés, ezen nem tudsz segíteni. A jobbra igazításhoz pedig vagy megszámolod hogy milyen hosszú a számod, vagy pedig megfordítva írod bele a tömbbe (tomb [0 ] lesz a legkisebb helyiértéked) 
 gabesz: kicsit konkrétabban miről lenne szó? 
 [Szerkesztve]
- 
			
			  bdav őstag válasz  Pho3bus
							
							
								#2097
							
							üzenetére Pho3bus
							
							
								#2097
							
							üzenetéreha a helyiértékes felbontás megvan akkor én hármasával szedném a számjegyeket (száz - tíz - egy), u.i ezek közösek, és csak utána kell írni hogy ezer v. millió ha 3mal odébb vannak. a neccesebb résznek én a kötőjelezés eldöntését tartom, de tényleg ott a pontos szabályoknak sztem nézz utána. 
- 
			
			  bdav őstag válasz  Pho3bus
							
							
								#2089
							
							üzenetére Pho3bus
							
							
								#2089
							
							üzenetérearra gondolsz hogy beírod neki azt hogy 3468 és kiírja hogy háromezer-négyszázhatvannyolc? 
 azt vkönnyű megoldani hogy meglegyenek az egyes helyiértékek: legyen x a bemeneted, ekkor legkisebb helyiérték=x%10; x=(x-x%10)/10; és így tovább amíg 0 nem lesz x. Ezek után most fel kéne lapozni a magyar helyesírási szabályzatot hogy hogy is van pontosan (2000ig mindentegybeírunk utána kötőjelezünk kivéve ha ''kerek'' a szám) (2000ig mindentegybeírunk utána kötőjelezünk kivéve ha ''kerek'' a szám)
 [Szerkesztve]
- 
			
			
- 
			
			  bdav őstag válasz  Yeti910331
							
							
								#2071
							
							üzenetére Yeti910331
							
							
								#2071
							
							üzenetérevalszeg sokba. egyrészt ha elvileg működne is a dolog, szükséged lenne az eredeti játék forráskódjára, ami nem egy egyszerű menet annyira azért. másrészt én úgy vélem hogy régebben annyira nem különült el a játék grafikus motorja a többitől (minél régebbi annál kevésbé). harmadrészt a programozók drágán dolgoznak  (és pl. nem is biztos hogy egy programozó elég) (és pl. nem is biztos hogy egy programozó elég)
 [Szerkesztve]
- 
			
			  bdav őstag hát sztem .net framework pl. linux alá nincs  (msdnen legalábbis nem láttam nyomát - meg ki csinálna ilyet?) java ebből a szempontból jobb, fájlkezelés ott se annyira gáz, de az ftp valóban nehezebb (msdnen legalábbis nem láttam nyomát - meg ki csinálna ilyet?) java ebből a szempontból jobb, fájlkezelés ott se annyira gáz, de az ftp valóban nehezebb egyébként meg mikoljannak ha még sose programozott akkor az alapokkal kéne tisztába jönnie (változó, ciklus, stb...), és csak utána nekiállni ftp klienst írni. .Net -et én most kezdem tanulni egyetemen, aztán azt mondták h. tiszta agymosás (tapasztalom is, 2 betűnél ritkán kell többet beírni...), másban utána már nem tud programozni az ember, úgyh. félek is tőle egyébként meg mikoljannak ha még sose programozott akkor az alapokkal kéne tisztába jönnie (változó, ciklus, stb...), és csak utána nekiállni ftp klienst írni. .Net -et én most kezdem tanulni egyetemen, aztán azt mondták h. tiszta agymosás (tapasztalom is, 2 betűnél ritkán kell többet beírni...), másban utána már nem tud programozni az ember, úgyh. félek is tőle 
- 
			
			  bdav őstag new és delete csak C++-ban van. A legtöbb mai fejlesztőprogi ami erre való az C/C++. A kérdés hogy neked jó-e a C++ vagy szigorúan C kell. 
 intekkel írom, mert az egyszerűbb most
 C megoldás (ebbe lehet hogy van hiba, tök rég nem írtam már Cben dinamikus foglalást):
 int tomb**=malloc(8*sizeof(int*)); //ez lefoglal 8 int* nak helyet
 for(i=0; i<8; i++) //i -t deklaráld azért előbb
 {
 tomb[ i]=malloc(n*sizeof(int)); //ez minden tomb[ i]-nek foglal n int helyet
 }
 A végén egy free(tomb); hívás illik.
 ha C++ van:
 int tomb**=new int*[8]; //8 int* nak a tömbje
 for(int i=0; i<8; i++) //itt már lehet i-t deklarálni menet közben is
 {
 tomb[ i]=new int[n];
 }
 végén delete[] tomb;
 [Szerkesztve]
 [Szerkesztve]
- 
			
			  bdav őstag válasz  Forest_roby
							
							
								#2005
							
							üzenetére Forest_roby
							
							
								#2005
							
							üzenetérede én elképzelhetőnek tartom. c/c++ alatt mondjuk egy példa. létrehozol egy pointert valahova mint változó. oda beírsz valamit. majd átkasztolod a pointered függvénypointerré vagy objektumra mutató pointerré és meghívod a függvénypointert / objektum tagfüggvényét (függvény ptr-t sose használtam de létezik, nem tudom hogy meg lehet e csinálni egy ilyen cast - ot, de az objektumosat biztos). na a hívás után szépen az fog programutasításként értelmeződni amit előzőleg beírtál a memóriába. persze ehhez nagyon kell tudni hogy mit írsz be  (nem tudom hogy a vírusok így csinálják e). ezzel a módszerrel felülírhatod a programod normális utasítás részét is ha eltalálod a memóriacímeket. (nem tudom hogy a vírusok így csinálják e). ezzel a módszerrel felülírhatod a programod normális utasítás részét is ha eltalálod a memóriacímeket.
- 
			
			  bdav őstag válasz  Forest_roby
							
							
								#1939
							
							üzenetére Forest_roby
							
							
								#1939
							
							üzenetéreaz fentebb van. amit most írtam le az a 2D tömb lefoglalása volt C-ben. (c++ban a new használatos). utána már tomb[][] - vel lehet rá hivatkozni; tomb[a][ b] helyettesíthető pointerekkel, ha jól emléxem akkor így: ((tomb+a)*+b)* (bár ezt sztem senki sem használja, nem is biztos hogy így korrekt teljesen, de a [] kikerülhető az fix) 
- 
			
			  bdav őstag válasz  Forest_roby
							
							
								#1937
							
							üzenetére Forest_roby
							
							
								#1937
							
							üzenetérehogyne lenne. 
 int** tomb=malloc(sizeof(int*), maxsorok);
 for(i=0; i<maxsorok; i++)
 {
 tomb[ i ]=malloc(sizeof(int), maxoszlopok);
 }
 [Szerkesztve]
- 
			
			  bdav őstag válasz  Forest_roby
							
							
								#1935
							
							üzenetére Forest_roby
							
							
								#1935
							
							üzenetérehát ciklusmagban még eszembe se jutott, ha erre gondolsz: for(...) { int i...} sztem ez így nem lesz jó. Ciklus deklarációban lehet a C++-ban: for(int i=...;...){} de fordítófüggő hogy a változó élettartama mennyi lesz, szóvalezzel óvatosan (ugyis beugat ha nem jó  ) )
- 
			
			  bdav őstag óbasszus nem [code] a kód tag. ááá na 2. nekifutás:  
 Legyen egy tömböd:
 tomb[sorok][oszlopok]
 ezt fel tudod tölteni két ciklussal:
 for(oszlopok=0; oszlopok<maxoszlopok; oszlopok++) //ez léptet a köv. oszlopra
 for(sorok=0; sorok<maxsorok; sorok++) // ez egy oszlop adatait szedi össze
 tomb[sorok][oszlopok]= //ide elvégzed a müveletet
 kiíráskor az kell hogy egy sor kiírásakor minden oszlop első eleme szerepeljen
 for(sorok=0; sorok<maxsorok; sorok++)
 {
 for(oszlopok=0; oszlopok<maxoszlopok; oszlopok++)
 file<<tomb[sorok][oszlopok]<<'\t'; //kiirkálod az oszlopok első elemeit
 file<<'\n'; //majd sor vége, köv. körben jönnek a 2. elemek.
 }
- 
			
			  bdav őstag hát éppen van lehetőség egy nyitott filestreamban hogy mozgasd az aktuális írási pozíciót (seegk és seekp) de nem ismerem ezt a lehetőséget jól, most találtam a googleval. nahh ha ez megvan és ismered a fájl sorainak hosszát, akkor sztem el tudsz navigálni a sorzáró \n (vagy \n\r) elé és oda beírhatsz, így kvázi új oszlopod lesz. (nézz utána ennek még, próbálgasd előtte) 
 de nekem szimpatikusabb lenne tömbben gyűjteni a kiírandó adatokat és csak a szim. végén létrehozni a fájlt
 mod most látom h. jo lenne tömbbel is csak az implementácio hiányzik. nahh akkor:
 Legyen egy tömböd:
 [code] tomb[sorok][oszlopok] [/code]
 ezt fel tudod tölteni két ciklussal:
 [code]
 for(oszlopok=0; oszlopok<maxoszlopok; oszlopok++) //ez léptet a köv. oszlopra
 for(sorok=0; sorok<maxsorok; sorok++) // ez egy oszlop adatait szedi össze
 tomb[sorok][oszlopok]= //ide elvégzed a müveletet
 [/code]
 kiíráskor az kell hogy egy sor kiírásakor minden oszlop első eleme szerepeljen
 [code]
 for(sorok=0; sorok<maxsorok; sorok++)
 {
 for(oszlopok=0; oszlopok<maxoszlopok; oszlopok++)
 file<<tomb[sorok][oszlopok]<<'\t'; //kiirkálod az oszlopok első elemeit
 file<<'\n'; //majd sor vége, köv. körben jönnek a 2. elemek.
 }
 [/code]
 a lényeg h. a két tömbbejárásnál más legyen a tömbindexeken végigfutó ciklusok sorendje.
 [Szerkesztve]
- 
			
			  bdav őstag .NET az az ''MS Javája'' valóban hasonló koncepció, és igen gondolom a C#, VB.net kódot a .net interpreter által végrehajthatóra fordítja. Jövő félév után már többet tudok róla mondani  
 ja c/c++ ben mindent lehet. de mindent lehet assemblyvel is csak kicsit nehezebb. el kell dönteni hogy a hatékonyság / könnyebb programozás közül mit akarsz.
 Delphi manapság nem túl népszerű, nagyon kevesen fejlesztenek benne
 igen, a modern nyelvek jó része a C-ből ''származik'', érdemes megtanulni kicsit. Symbian az egy oprendszer, opengl meg sztem függvénykönyvtár (de ebben nem vagyok biztos).
 64bites kód sztem a fordítón múlik igazán.
 Kedvenc ide: Eclipse javához, visual studio c++-hoz és majd gondolom .nethez is
- 
			
			  bdav őstag javaban van BigInteger osztály, onnan lehet lopni az ötleteket  amugy ezzel az osztállyal már relative könnyen lehetne rsa-t implementálni (ha gyors a modpow amit csináltak benne), ha lesz időm meg kedvem meg is csinálom amugy ezzel az osztállyal már relative könnyen lehetne rsa-t implementálni (ha gyors a modpow amit csináltak benne), ha lesz időm meg kedvem meg is csinálom (persze h. használható cucc legyen belőle az lényegesen több meló) (persze h. használható cucc legyen belőle az lényegesen több meló)
 ugyanakkor c++ ban sokkal kényelmesebb, ha egyszer megvan a bigintegered, az operator overload miatt (ez hiányzik nekem igazán a javaból)
 [Szerkesztve]
- 
			
			  bdav őstag válasz  Bazsesz
							
							
								#1767
							
							üzenetére Bazsesz
							
							
								#1767
							
							üzenetérena ezt a hszedet nem tudom értelmezni. de ha az eredeti problémát jól vágom akkor annyi kell h. a '\n' '\t' és ' ' karaktereket számold. amit írtál progi az minden karakter előfordulását nézi, tök feleslegesen. (ráadásul külön függvényt kér) 
 én így írnám meg:
 void charCount(char* fileName)
 {
 FILE* f=fopen(''fileName'', ''r'');
 int s=0;
 int spaceCount=0;
 int nCount=0;
 int tCount=0;
 do
 {
 s=fgetc(f);
 if(s=='\n') nCount++;
 if(s=='\t') tCount++;
 if(s==' ') spaceCount++;
 } while(s!=EOF);
 printf(''\\n száma: %d'\n\\t száma: %d\nspace száma: %d', nCount, tCount, spaceCount);
 }
 mod: amit te irtál az is kb. ugyanezt teszi, csak megszámol mindent feleslegesen. ja és a while és for ciklust megint felcserélted. Kiírásnál meg nem lennék benne biztso hogyha a \n-t karakterként írod ki akkor nem tesz e inkább ujsort (ezért írok én pl. \\-t). egy iffel rá tudsz szürni mondjuk és akkor csak a szükségeseket írja ki (if(c[ i ]=='\n') printf(''\\n száma: %d'', c[ i ]);)
 [Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Ikea Eilif Paraván, asztali elválasztó
- AMD AM4-es HP OMEN 25L GT12 alaplapok - B550 chipset
- HIBÁTLAN iPhone 12 Pro 256GB Graphite - 1 ÉV GARANCIA - Kártyafüggetlen, MS3283
- Eredeti Lenovo 65W USB Type C notebook töltő
- GYÖNYÖRŰ iPhone 12 Pro 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3438, 94% Akkumulátor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
 
						
 
								 
							 
							 
							 )
 ) 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							
