Fontos linkek a C-ről:
Prog.hu-s cikkek
Prog.hu-s tudástár témák
The C Library Reference Guide
Standard C
Wikipedia
C Tutorial
Programming in C
Bevezetés a C programozási nyelvbe
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [Szoszo94:] Xiaomi Mi Router 3G - Padavanra fel!
- [Re:] [ubyegon2:] Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- [Re:] [GoodSpeed:] Windows 11 PRO FPP (Full Packaged Product) - Retail, Box, dobozos
- [Re:] [Szevam:] Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
- [Re:] [btz:] Internet fejlesztés országosan!
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [cigam:] Milyen NAS-t vegyek?
- [Re:] eBay-es kütyük kis pénzért
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [gban:] Ingyen kellene, de tegnapra
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
GAMEPOD.hu témák
Téma összefoglaló
- Utoljára frissítve: 2014-04-25 14:12:00
LOGOUT.hu
Hozzászólások
D@ni88
addikt
sry, jóaz, de nekem nem kell a .0000 azt el lehet tüntetni?
Lortech
addikt
Dede, le is írtam hogyan. Dehát a double az a tömb, azé' kell az, e.
Thank you to god for making me an atheist
D@ni88
addikt
ok köszi,é erről a kovertálásban nem tudsz segíteni? int to string
Lortech
addikt
Azért remélem leesett, hogy az előbb nagy hülyeséget írtál.
itoa a függvény neve. itoa(int stringge_alakitando_szam, char * kimenet_string, int szamrendszer_alapja)
Thank you to god for making me an atheist
D@ni88
addikt
leesett persze, csak nekem úgy mondták h azzal lehet tömböt létrehozni. furcsélottam h racionális, és tömb is, de hát azthittem h ez csak ilyen egyedi hülyeség
de amit írtál erről az átalakításról, hát izé, nem nagyon értem
amúgy meg 5x5ös 5ödölő lesz belőle. ezt csináltam meg 2 éve középsuli 3.ba prog évvégi ként pascalban, és önszorgalomból megcsináltam snake-et is csak úgy önszórakoztatás képpen jólvan elhiszem kicsit furcsa volt :p de kivehető
[ Szerkesztve ]
odonye
csendes tag
AMúgy a Pasclanak van értelme? Én nem sokat látok.
D@ni88
addikt
el lehet vele szórakozni!
Első prognyelvnek sztem jó
amargo
addikt
Én nem igazán látom az értelmét és nem is tudom hova rakni.. azt leszámítva hogy 1-2 programozáshoz nem értő, de pascalt - delphit ismerő tanár ezt tanítja a mai napig..
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
Vico87
tag
Kezdõknek könnyebb, mint C-t tanulni egybõl. Én legelõször Pascalban programoztam, aztán tanultam csak meg C-ül. Manapság az a hátránya, hogy nem igazán használják, míg a C-t igen. Szerintem egyszerűbb kezdõknek azt leírni és megérteni, hogy "szoveg : string;", majd csak használni, mint "char* szoveg stb..." vagy "char szoveg[x]" és mindig &szoveg-ként használni a függvényekben.
[ Szerkesztve ]
kicsitomi88
őstag
[ egyeterto smiley ]
Vico87: Pascallal kezdtem es delphiztem evekig, vagy 5 elpazarolt ev az eletembol...
90 87.5 87.8 87.5
doc
nagyúr
én annak idején szerettem a Pascalt, de mikor sikerült "összejönnöm" a C-vel, onnantól rá sem néztem
az előnye hogy könnyen tanulható, de ez egy idő után már erős hátrány lesz. pl. a C konzekvens felépítéséhez képest a Pascal egy össze-vissza hányt szutyok.
az a baj, hogy az oktatás irtózatosan lassan idomul az aktualitásokhoz, a számítástechnika gyors fejlődésével meg képtelen lépést tartani. a felsőoktatásban még csak-csak, de pl. egy középiskola reménytelen. az a tanár, aki anno 30 éve megtanulta a pascalt, még 10-20 évig tanítani is fogja. ahelyett hogy a modernebb szemléletű nyelveket tanítanák (akár delphit, ha már könnyen tanulható nyelv kell)
ok hogy alapozni is kell, de nem mindegy hogyan
odonye
csendes tag
Mikor véletlenszerű számot szeretnék kapni, miért kapom mindig gyanazt a programot akárhányszor lefutatom? Ha meghívom a randmize() függványt akkor hibaüzenetet kapok. Ilyet ovlastam:
#include <stdlib.h>
randomize();
x=rnd() % n
De ez csak randomize(); nélkül működik. Miért lehet ez?
doc
nagyúr
milyen hibaüzenetet? ha nem árulod el, nehéz lesz...
azt tudod, hogy a randomize-ot csak egyszer, a program elején szabad meghívni, ugye?
odonye
csendes tag
c.c.text+0x4f): undefined reference to `randomize'
Azt nem tudtam, hogy az elejen kell.
odonye
csendes tag
ÜDv, ha a randomize(); helyére ezt írom: srand(time(NULL));, akkor működik. Ez most pontossan mi is? Egy fórumon találtam, hgoy ezzel működik, csak miért, és mi ez?
Lortech
addikt
Mert a randomize az turbo c / borland c változatban van emlékeim szerint.
Thank you to god for making me an atheist
D@ni88
addikt
turboba is legelejére kellett szinte írni h randomize, és ott is random parancsal lehett véletlenszámot generálni. Szval próbáldrandommal
Lortech
addikt
Randomize-zal nem megy, leírta, én meg azt is, hogy miért. Ő nem turbo c-t használ.
Thank you to god for making me an atheist
D@ni88
addikt
hát ki mondta h turbó c-t használ? én csak annyit mondtam h sima randommal próbálja...
odonye
csendes tag
Próbáltam randommal is, de teljessen felesleges volt, mivel a randomize();-val volt gondja.
Lortech
addikt
Nem megy a szövegértelmezés, az a baj. Nem mondtad, de a randomize + random az tubro c / pascal módi.
Thank you to god for making me an atheist
rOwLeY
őstag
Hali!
A segítségeteket kérném!Az alábbi programról lenne szó:
Írjon és deklaráljon C föggvényt, amely egy nulla végú stringben, amely 1-es és 0 karaktereket tartalmaz, minden egymást követő ötödik egyes után beír egy 0-ár!Az eredmény számára a függvény foglal helyet.
pl: 11110111011111110011 --> 111101110111110110011
D@ni88
addikt
Na a "project" egy 5x5ös ötödölő játék lenne...
addig eljutottam hogy kiírassam meg hasonlók.
De valaki tudna egy megoldást arra, hogy ha 'X'-et és 'O'-t akarok beírni azt miként hogy csináljam?
#include <stdio.h>
void main()
{
int a[25];
int i, j, x;
x=1;
for (i=0; i<25; i++)
{
a[i]=x++;
}
for (i=0; i<25; i++)
{
if ((i==5) || (i==10) || (i==15) || (i==20) || (i==25)) printf("\n\n");
if (a[i]<10) printf(" %d", a[i]);
else printf("%d", a[i]);
printf(" ");
}
}
[ Szerkesztve ]
kicsitomi88
őstag
Bekered hogy melyik koordira es mit, atirod a tombbe, kepernyotorles es ujrakiir.
90 87.5 87.8 87.5
D@ni88
addikt
a bekérést meg az iyleneket értem. megcsináltam már turbóba
hát jólvan de ez int típusú... most át kell h írjam a tömböt char-ra? és kézi feltöltéssel kell megoldani, azt meg nem szeretném.
képernyő törlést egyépként mivel lehetmegoldani?
[ Szerkesztve ]
D@ni88
addikt
vagy egyáltalán hogy lehet létrehozni olyan char tömböt? amiben 25db 2hosszúságű "szöveg" tárolható?
char a[2][25]?
szilu84
tag
char *feladat(char *str){
char *uj=(char*)malloc(sizeof(char)*500);
char tmp[2];
tmp[1]='\0';
int i;
uj[0]='\0';
for (i=0;i<strlen(str);){
if (str[i]=='1' && str[i+1]=='1' && str[i+2]=='1' &&
str[i+3]=='1' && str[i+4]=='1'){
strcat(uj,"111110");
i+=5;
}
else{
tmp[0]=str[i++];
strcat(uj,tmp);
}
}
return uj;
}
odonye
csendes tag
D@ni88, igen. Et hívják több dimenziós tömbnek. De ha úgy gondolod, hogy 25db 2 karaktert tároló ,,szöveget" akarsz létrehozni, akkor azt fordítva kell megtenni (ha jól tudom, javítsatok ki ha tévedek): char a[25][2].
szilu84
tag
ehhez a projekthez miért kell 25db 2 hosszúságú szöveget letárolni? nem jó egy 5x5-ös mátrix, aminek minden eleme egy karakter? (egy X vagy egy O)
Lortech
addikt
Biztos működik, de az nem a legjobb gyakorlat, hogy kihivatkozol a tömbből. Meg ugye ott a limit.
Thank you to god for making me an atheist
maszat
senior tag
Felhasználva a forrásodat elkészítettem egy másik verziót:
char *feladat(char *str){
char *uj=(char*)malloc(sizeof(char)*(strlen(str)*1.2));
int i=0;
int ujszohossz=0;
int egyesek=0;
for(i=0; i<strlen(str); i++){
uj[i+ujszohossz]=str[i];
if(str[i]=='1'){
egyesek++;
if(egyesek == 5){
egyesek = 0;
ujszohossz++;
uj[i+ujszohossz]='0';
}
} else {
egyesek=0;
}
}
return uj;
}
Működése:
Létrehozza a célszónak megfelelő karaktertömböt. Külön megvizsgálva lehetett volna pontosan akkorát létrehozni, mint amekkora kell, de hirtelen ez is jó, elvégre max 20%-al lesz hoszabb a szó.
Betűnként olvassa a szót, és számolja az egymásutáni 1-eseket. Ha megvan az 5, akkor hozzácsapja a 0-t, ha nincs, akkor nullázza a számlálót.
uj[i+ujszohossz]=str[i]; az ujszohossz változó az eltolás kezelésére szolgál, mikor a 0-t beszúrjuk.
Így hirtelen kipróbálva működött, de a hibátlan működésért nem vállalok garanciát.
[ Szerkesztve ]
D@ni88
addikt
hát végülis jó, csak eddig számokban gondolkoztam mint mezők nevei, de ha egy lenne akkor meglehetne oldani betűkkel hát nem tom úgy mennyire lenne átlátható, mert azért a betű vs számhoz már hozzá van szokva az emberi szem.
szilu84
tag
kipróbáltam, müxik az algoritmusod, de sztem nem zárod le az uj sztringet, mert kiírásnál mindenféle krixkraxot ír a végére.
ez hiányzik a return elé: uj[i+ujszohossz]='\0';
[ Szerkesztve ]
rOwLeY
őstag
Köszönet mindenkinek a segédkezésért!
maszat
senior tag
Ez igaz. Nem foglalkoztam a lezárással.
odonye
csendes tag
Üdv! Egyenletet meg lehet oldatni progival? Pl egy olyan, hogy 24=262.2-x/500-x*100?
kicsitomi88
őstag
meg.
90 87.5 87.8 87.5
PazsitZ
addikt
Ha átalakítod...
- http://pazsitz.hu -
Vico87
tag
Igen, meg lehet oldani. Nyilván vannak könnyebben és nehezebben kivitelezhetõ megoldások.
Könnyű megoldások pl :
- megoldóképlet alkalmazása (negyedfokú polinomig alkalmazható, de a negyedfokú megoldóképletét tutira rosszul írod majd le, mert embertelen hosszú)
- iteratív módszer alkalmazása (lásd : Newton módszer, Lagrange módszer)
Az egyenletmegoldáshoz ajánlott "numerikus módszerek" témakörbõl ismeretek.
Igazából minél többet tudsz matekból annál jobb megoldást tudsz erre írni.
Noobi
tag
Sziasztok! Tudna nekem segíteni valaki abban a problémában, hogy a devCpp-omban a sima c project nem fordul le? Csak a c++-os fut le hiba nélkül....
A kiírt hiba: "C:\Prog\Dev-Cpp\Project\Makefile.win [Build Error] [main.o] Error 1 "
Vistám van, bár nem gondolom hogy az lenne a baja, mert a legelején simán lefordult... azóta hiába telepítettem újra mindent, nem segít.....
Előre is köszönöm!
Lortech
addikt
Pedig bizony az a baj (vista alatt nem megy a devcpp alapból).
Itt egy biztosan működő leírás (én is így raktam fel Vistára): [link]
Thank you to god for making me an atheist
Noobi
tag
Köszönöm Szépen a gyors segítséget!
Csak azért gondoltam, hogy nem a vista hibája, mert a legelső telepítés után 1-2 napig jó volt...
dany27
őstag
sziasztok!
Én most szeretném elkezdeni a C-t tanulgatni de nem tudom melyiket lenne érdemes elkezdeni. Mivel nem tudom hogy mi a különbség a sima C a C++ és C# között!
Előre is köszönöm a válaszaitokat!
Noobi
tag
Tényleg működik
Köszi mégegyszer!
Noobi
tag
Szia!
Szerintem az általad megadott sorrend a helyes.... a C-re épül a másik kettő lényegében... a C++ objektum orientált, a C# pedig a C++ és a Java keveréke .... elvileg... szóval én a sima C-re voksolnék...
dany27
őstag
oks
Csak vmi jó irodlalom kéne hozzá, mert magamtól nem fogok rájönni hogy mi hogy van
Szóval tudnál nekem mondani valami jó kis könyvet C-hez??
Noobi
tag
Ha ennek: http://ebookz.hu/ a keresőjébe beírod, hogy c programozás, kidob mindent, még feladatgyűjtemény is van rajta... Sok Sikert!
Lortech
addikt
Vagy mondjuk kezdhetnéd az első hozzászólással.
[ Szerkesztve ]
Thank you to god for making me an atheist
Wizardmon
csendes tag
Heló!
Most kezdtem C-ben programozni. Pontosabban ma délután.
Van nekem egy borland c++ 2.05 fordítóm. Elmondaná valaki, hogyan kell azt használni? agy valami linket adjon please ahol leírják.
Olyasmi programmal kezdtem, hogy:
#include<stdio.h>
main()
{
printf("Elsö C programom \n");
}
Ilyenkor elvileg meg kell hogy jelenjen a: Első C programom - szöveg.
De már az sem biztos hogy sikerült normálisan lefordítanom. Rámegyek hogy save. Akkor csinál nekem egy jegyzettömb formájú fájlt, aztán mondom neki hogy RUN. Akkor kiír 3-4 sor szöveget, és rak a jegyzetemhez egy .exe fájlt meg egy csomó mást is. Ha rákattintok az exe-re, kijön egy dosos ablak, de mire észreenném, hogy van-e rajt valami, be is záródik. Enek kell történnie? Ezt kell csinálnom fordításkor?
Légyszi valaki segítsen.
Lortech
addikt
Nyiss egy cmd ablakot (parancssor), és ott futtasd le a kapott exe fájlt, és látni fogod a programod kimenetét, ha volt neki.
Ennek kell történnie, amit leírtál, mivel a program befejeződik felhasználói interakció nélkül, és a parancssor bezáródik, ezért nem látod az eredményt.
Thank you to god for making me an atheist
Téma tudnivalók
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!