Hirdetés
- Fotók, videók mobillal
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- Samsung Galaxy A52s 5G - jó S-tehetség
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Motorola Edge 70 - többért kevesebbet
- Google Pixel topik
- Bemutatkozott a Poco X7 és X7 Pro
- Dupla kamerával menekülne az iPhone Air a kaszától
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Beárazták a Nubia Z80 Ultra európai verzióját
Új hozzászólás Aktív témák
-
#29810176
törölt tag
válasz
DrojDtroll
#5828
üzenetére
Köszi a válaszokat! Video sorozat is érdekel, ha nem túl drága (max. 10000Ft), jó kezdőknek, tényleg részletesen mindent (már ha létezik ez a szó a programozásban) elmagyaráz.
kispx:
Köszi
Ez jó kezdőknek is? Nem igényel más nyelv ismeretét? -
dobragab
addikt
válasz
DrojDtroll
#5607
üzenetére
feof-fal óvatosan, nem jóstehetség! Nem tudja kitalálni, hogy a következő beolvasás el fog-e halni (azaz a fájl végén vagyunk-e), hanem azt adja vissza, hogy az előző beolvasás EOF miatt halt-e el. Azaz könnyű rosszul használni, így tud még egy hibás adat bekerülni a lista végére.
-
#36268800
törölt tag
válasz
DrojDtroll
#5602
üzenetére
Tulajdonképpen hetente változik a sorok száma, hiszen akkor húzzák ki az újabb számokat (manuálisan szerkesztem a fájlt).
Az oszlopok száma mindig 5, mivel ötös lottóról van szó.
-
mepet
addikt
válasz
DrojDtroll
#5460
üzenetére
Hirtelen kikopiztam egy txt olvasós progimból az ideillő részt.
lines[] tömb elemei a sorok és sepline az üres sor sorszáma.//-------------------------------------------------------
//file reading, array fulfilling, finding seperator line
//-------------------------------------------------------
if ( file != NULL )
{
char line [MAX_CHARS]; //maximum line size
for (i=0; fgets ( line, sizeof line, file ) != NULL; i++ ) // read a line
{
sprintf(lines[i], "%s", line);
//printf("%d. %s", i, lines[i]);
if (strcmp(lines[i], "\n") ==0 ) // find seperator line
sepline=i;
}
fclose ( file );
}
else
{
perror ( filename );
return 1; // why didn't the file open?
} -
axioma
veterán
válasz
DrojDtroll
#5184
üzenetére
Azt gyanitanam latatlanban, hogy nem arra gondoltak, hogy a futasnal legyen ez ellenorizve es kiabaljon ha nem jo (vagy esetleg ettol fuggoen mas modszerrel csinald tovabb), hanem arra, hogy az algoritmus maga biztositsa (a felepitesevel), hogy ez alatt marad a felhasznalas (vagy nem hasznalsz dinamikusan foglalt valtozokat, vagy ha megis, azoknak a szamara van felso korlat mar maga az algo alapjan). Illetve van me'g amikor az a cel, hogy a tomoritest oldd meg (pl. 4 db iranyt jelzo info (fel/le/jobbra/balra) egy byte-ban, vagy 30 darab 0-120 kozti egesz lista vagy tomb helyett bithellyel abrazolva 16 byte-on). A kicsit konkretabb feladatbol kiderulhetne, hogy melyik (vszinu egyszeruen kodolhato de sok memoriat hasznalo) algoritmus kizarasa miatt tettek bele a feltetelt - es valoszinuleg mert ettol lett szep es otletet igenylo a feladat
) -
EQMontoya
veterán
válasz
DrojDtroll
#5181
üzenetére
Ez a kérdés hogyan merült fel?

-
axioma
veterán
válasz
DrojDtroll
#5159
üzenetére
Te kell karban tarts egy vektort, amit veremnek hasznalsz, vagy egy valtozot ahol visszafele lepeskor is adminisztralod a valtozast, vagy lehet akar minden elorefele lepesnel megszamolni...
Az algobol eleve kiesik egy info, eleg az a-kat szamolni, mert (ha jol vettem ki) x=y+z igy b kovetkezik, sot a koztes lepeseknel is tudod, mert egy index ugyis kell hogy hol tartasz a veremben, az pont jelzi az aktualis hosszt.
De ezt en nem feltetlen igy csinalnam... ha a kerdes algoritmikus es nem programozastechnikai. Eloszor is kevesebb lepes, ha a run-length kodolas alapjan me'sz (minden lepesben nem 1 db valamelyik karaktert teszel le, hanem 1-tol az adott betubol visszalevoig barmennyit a betuket valtogatva, a legelejen megengedheto de cask ott a 0 db).
Masreszt ez az n alatt a k tipikus esete (x alatt az y), es mivel iszonyat gyorsan nonek ezek a szamok, igy ha ki kell iratni, akar arra is lehet tamaszkodni, hogy bele fog ferni egy nagyobbacska int-be a bitenkenti abrazolassal... az int-ben meg tudod szamolni - persze csak ciklusban de a stringnel joval gyorsabban - a bitek szamat, es csak ami jo azt konvertalod a-b-re.)
Valamelyik pszeudot osszedobhatom, ha gondolod, de mindet inkabb nem. -
válasz
DrojDtroll
#5144
üzenetére
Egy rekurziv megoldas lehet, pszeudokodban:
szavak_listaja = ures_lista;
fuggveny generalj_szot(szotoredek, rendelkezesre_allo_a, rendelkezesre_allo_b) {
ha szotoredek hossza = x akkor add hozza a szavak_listaja-hoz szotoredeket;
egyebkent
{
ha rendelkezesre_allo_a > 0 akkor generalj_szot(szotoredek+"a", rendelkezesre_allo_a-1, rendelkezesre_allo_b);
ha rendelkezesre_allo_b > 0 akkor generalj_szot(szotoredek+"b", rendelkezesre_allo_a, rendelkezesre_allo_b-1);
}
}Ezt at lehet alakitani rekurzio nelkulire, ha ugy tartja kedved.
-
EQMontoya
veterán
válasz
DrojDtroll
#5141
üzenetére
FILE **fin;
vs.
fin=fopen("pakol.be", "r+");Túltoltad kicsit a csillagot.

A változókat típus szerint érdemesebb lenne külön sorba deklarálni, ez így nagyon takony.
Szerk:
int** ladak
vs.
for(i=0;i<ladak_szama;i++){
if(ladak(i)>max && ladak(i)!=jel){
max=ladak(i);
maxindex=i;
}
}Itt is egydimenziósként használod a **-ot.
Szerintem némileg fogalmi zavarban vagy a pointerekkel, azt érdemes lenne tisztázni, mielőtt nekiállsz őket így használni.
-
axioma
veterán
válasz
DrojDtroll
#5135
üzenetére
A temp azert nem nullazodik, mert a j ciklusvaltozo ellenere a magban a temp[i]-be irod a 0-t.
Innen meg ertheto a mukodes (az elozo szemet ottmarad, a rovidebb inputra raragad az elozo vege). -
EQMontoya
veterán
válasz
DrojDtroll
#5135
üzenetére
Rakd be akkor az egész kódot, aztán átnézem.

-
EQMontoya
veterán
válasz
DrojDtroll
#5133
üzenetére
Nullterminálni ki fogja a stringet?

Btw a !isalpha(..) mire kell? Ha az isdigit() teljesül, akkor számjegy és kész. -
Jester01
veterán
válasz
DrojDtroll
#5130
üzenetére
Szerintem már ő is tudja

-
#34322688
törölt tag
válasz
DrojDtroll
#5086
üzenetére
Én pl a különböző parancsokra értem. printf-Console.WriteLine-stb.. ezekre értem, hogy nem ugyanaz, vagy igen? Meg nem tudom miért a C.B-ot erőltetik, amikor a V.S-is ingyenes.
-
sssirius
tag
válasz
DrojDtroll
#5080
üzenetére
Akkor jó esélyed van, hogy EOF-ot kapsz a végén.
-
sssirius
tag
válasz
DrojDtroll
#5078
üzenetére
Szia!
Ha interaktív program és a felhasználók csápolják be az inputot, akkor érdemes lehet bevezetni egy termináló karaktert/sort és egy while ciklusban figyelni, hogy megegyezik-e azzal.
Ha program adja be, akkor meg lehet próbálni EOF-ot keresni, pl. a getline függvény alkalmas lehet ebben az esetben.Ha ezek nem jönnek be, akkor a non-blocking read-et javaslom egy jól belőtt timeout-tal.
-
camillus
tag
válasz
DrojDtroll
#5069
üzenetére
Nem ez más lesz, de jobban utánanézve inkább nem kísérletezgetek.
-
sssirius
tag
válasz
DrojDtroll
#5049
üzenetére
A termios.h headerben van definiálva a termios struktúra amin keresztül be tudsz állítani mindenfélét.
-
alapz@j
tag
válasz
DrojDtroll
#5042
üzenetére
Valaki kijavít, ha tévednék, de szerintem sima getch() (már) nincs. Van a conio.h-s _getch() és van a stdio.h-s getchar().
-
alapz@j
tag
válasz
DrojDtroll
#5040
üzenetére
Nem befolyásol semmit, ez a függvény neve:
#include <conio.h>
int _getch( void );
wint_t _getwch( void ); -
Jester01
veterán
válasz
DrojDtroll
#5038
üzenetére
Ah, hát ez egyszerűbb

-
Jester01
veterán
válasz
DrojDtroll
#5036
üzenetére
Elvileg a SetConsoleMode függvénnyel ki kell kapcsolni az ENABLE_LINE_INPUT beállítást. De nem tudom, nekem linuxom van

-
Jester01
veterán
válasz
DrojDtroll
#5034
üzenetére
Szabvány C-ben nem, csak rendszerfüggő módon.
-
tototos
addikt
válasz
DrojDtroll
#5010
üzenetére
Hát mekkora méretet gondolsz a tömbnek? A foglalások számát nem közli a feladat így nem tudod mekkora tömbre van szükséged. A struktúra meg sokkal átláthatóbbá teszi a kódot, mint ha külön tömbben tárolod az összes adatot. Tehát ha már tömbbel szeretnéd megoldani akkor is inkább egy struktúra tömb a javasolt szerintem,
-
Gekkocy
csendes tag
válasz
DrojDtroll
#5003
üzenetére
Nagyon szépen köszönöm a segítséget!
-
alapz@j
tag
válasz
DrojDtroll
#4996
üzenetére
Jól megbonyolítottad a dupla tömbökkel

char string[] ="1 22 333 444 5555";
char *pch = strtok(string," ");
while (pch != NULL) {
printf("%i\n", atoi(pch));
pch = strtok(NULL, " ");
}vagy ha már belelendültem:
char *string = "1 22 333 4444 5555";
size_t i = strlen(string);
while (--i) if (string[i] == ' ') printf("%i\n", atoi(string + i));ez utóbbi jobb is, mert a strtok-al ellentétben nem módosítja a stringedet.
-
alapz@j
tag
válasz
DrojDtroll
#4988
üzenetére
char *string = "2 31 457";
int i1, i2, i3;
sscanf(string, "%d %d %d", &i1, &i2, &i3); -
don_peter
senior tag
válasz
DrojDtroll
#4993
üzenetére
Nah akkor megoldódott.
Egyébként egy for() és if() feltéttel meg lehet oldani. -
DrojDtroll
veterán
válasz
DrojDtroll
#4992
üzenetére
Irtam ra sajat fugvenyt ami szetszedi innentol mar minden megy az atoi()-val.

-
don_peter
senior tag
válasz
DrojDtroll
#4990
üzenetére
Tördeld el a stringet a szóközöknél és utána az eldarabolt stringeket már át tudod alakítani az atoi() függvénnyel.
-
don_peter
senior tag
válasz
DrojDtroll
#4988
üzenetére
atio() függvény lesz a barátod

-
bucsupeti
senior tag
válasz
DrojDtroll
#4966
üzenetére
bash scriptben akarod megtenni?
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Karma
félisten
válasz
DrojDtroll
#4962
üzenetére
Hibakeresésnél legközelebb másold ide a pontos hibaüzenetet, és hogy fordításkor vagy futáskor történt a hiba.
Egyébként szerintem az a baj, hogy egy 100^4 elemű inttömb bő 400 MB memória lenne, amit stacken nem lehet elhelyezni...
Ha ekkora memóriaterület kell, nem úszod meg a heap használatát (malloc/free), de sokkal célravezetőbb, ha újragondolod a feladatod. Több mint valószínű, hogy nincs szükséged az egész tömbre a memóriában.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- PayPal
- sziku69: Szólánc.
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Hisense LCD és LED TV-k
- Óvodások homokozója
- Fotók, videók mobillal
- Kormányok / autós szimulátorok topikja
- Elektromos autók - motorok
- Milyen monitort vegyek?
- Épített vízhűtés (nem kompakt) topic
- További aktív témák...
- Windows 10 / 11 Pro Retail aktiváló kulcs Azonnal szállítással, számlával, garanciával!
- Samsung Galaxy S25 Ultra 5G / 12/ 256GB / Kártyafüggetlen / 12Hó garancia / Akku: 100%
- Eladó Samsung Galaxy S22 Ultra 12/256GB / 12 hó jótállás
- HATALMAS AKCIÓK! GARANCIA, SZÁMLA - Windows 10 11, Office 2016 2019 2021,2024, vírusírtók, VPN
- Honor 200 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Ez jó kezdőknek is? Nem igényel más nyelv ismeretét?




![;]](http://cdn.rios.hu/dl/s/v1.gif)


