- iPad topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Előrendelhető a OnePlus Pad 3
- OLED TV topic
- Milyen alaplapot vegyek?
- Kivégzi a Firewire-t az új macOS verzió?
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Bluetooth hangszórók
- Internet Rádió építése (hardver), és programozása
- AMD K6-III, és minden ami RETRO - Oldschool tuning
Új hozzászólás Aktív témák
-
macikos
addikt
"ha a maximum keresesbol nem tudsz minimumkeresest csinalni, akkor bocs hogy ilyet mondok, de nagyon nincs ott helyed..."
Tekintve, hogy Gépész vagyok és nem Infós, így ez valahogy nagyon nem tud érdekelni. Nem emlékezhetek mindenre.
Korcsii: Köszönöm. Tényleg pofon egyszerű volt
Azt nem tudtam elképzelni, hogy mi alapján választom ki a kezdeti értéket, amihez hasonlítom a többit
ArchElf: Az egyik gyaktanáromon akkor sz*rtam be, amikor Visual C++-ben dolgoztunk. Én meg gyorsan csináltam egy olyan programot, hogy leraktam egy gombot és ha ráklikkeltél, akkor elmozdul valamerre x pixelt. Tanár meglátta, álla leesett és ezt mondta: ezt hogy csináltad???
Szóval ez van.
-
ArchElf
addikt
Felmentésem volt, csak első órára mentem be az órájára (ha ugyanarról a tanárról van szó).
Egy 10 soros programot is meg tudott úgy írni, hogy elszálljon tőle a fordító. Háromszor játszotta el (program begépelés, fordítás, fordító elszáll) mentés nélkül - szánalmas volt.AE
-
Korcsii
őstag
válasz
macikos #1894 üzenetére
pl csinálsz két változót: int melyik, mekkora;
A melyik megkapja az első elem sorszámát (i, azaz valószínűleg 0), a mekkora pedig az első elem értékét. Majd egy for ciklussal végignézed az összes többi elemnél, hogy az kisebb-e nála. Ha igen, akkor a melyik megkapja az i értékét, a mekkora meg az adott értéket. Végül a melyik alapján be tudod azonosítani, hogy melyikről van szó... persze ha csak egy adat van, akkor i helyett egyből lehet azt is tárolni... ha meg csak az ár kell, akkor a melyik el is hagyható...
(nem néztem a kódod, és eddig még csak C-ztem, C++ még a jövő zenéje) -
ArchElf
addikt
válasz
macikos #1894 üzenetére
Eh... Miskolci Egyetem. Mi folyamatosan azt röhögtük (Kiegészítő Levelező Info szak), hogy megtanítanak 20 óra alatt C-ben, majd 20 óra alatt C++ ban programozni (első két félév), majd a harmadikban linux alá C-ben IPC-t kellett programozni (shared memory, szemaforok, signaling, stb.) Többen voltak nem infós előélettel az évfolyamban. A legtöbb ember úgy csináltatta meg a beadandót programozó ismerősével (vagy annak híjján pénzért)...
De hát mit várjon az ember, ha pénzért kap papírt (levelező oktatás). A tanárok sírnak, hogy szombat-vasárnap kell bejárni tanítani (mintha nekünk semmi dolgunk nem lett volna hétközben), persze a vizsgát egyesek képesek kedd reggel 8-ra kiírni...
Amúgy nekünk a DevC++ -t próbálták erőltetni, de ennyi óra mellett semmi értelme nem volt az egésznek.AE
-
Sk8erPeter
nagyúr
válasz
macikos #1894 üzenetére
A TurboC-t felejtsd el. Ha erőforráskímélő fejlesztőkörnyezetet akarsz, akkor ott van többek közt a Code::Blocks.
Kérdésre: [link] (akár első találat...)
(egyébként komolyan nem értem, ha a maximumkeresés megy, akkor mi a gondod a minimumkereséssel?)
Amúgy meglep, hogy ME-en ilyen szarul tanítják a programozást.
-
doc
nagyúr
válasz
macikos #1894 üzenetére
ha a maximum keresesbol nem tudsz minimumkeresest csinalni, akkor bocs hogy ilyet mondok, de nagyon nincs ott helyed...
a TurboC meg irtozatos, gyakorlatileg nincs egyetlen szabvanyos eleme sem, az ok amiert azt tanitjak sok helyen az, hogy ingyenes (na meg persze a 20 eve kemiatanarbol atkepzett oktatok ezt ismerik, es nem hajlandoat ujat tanulni)
-
macikos
addikt
válasz
Sk8erPeter #1891 üzenetére
TurboC. Van ilyen? Na az megeszik mindent
Sajnos ez van, nekünk ezt tanították/tanítják. Miskolci Egyetem.Mindegy, az elsődleges szempont most az, hogy ránézésre jó legyen, hogy haveromnak elfogadják.
minkeresés hogy néz ki?
-
Karma
félisten
válasz
Sk8erPeter #1891 üzenetére
Ebben semmilyen objektumorientalt elv nem volt... Kivancsi lennek arra a tanarra, aki ilyet lehetove tesz. Asszem elzavarnam utcat soporni vagy arkot asni inkabb.
-
Sk8erPeter
nagyúr
válasz
macikos #1890 üzenetére
Most komolyan, Te milyen fordítót használsz, amiben ez működik, és ami nem pampog azért, hogy tele van hibákkal?
Meg sem próbáltam megérteni a programodat, mert annyi időm nincs, de a következő pl. micsoda?
typedef int bool;
?Felül akarod definiálni a bool típust, vagy mi? Ennek semmi értelme.
Ezenkívül a main()-nek nincs vége sehol, plusz ott a legvégén van egy else ágad, ami után van egy felesleges kapcsos zárójeled.
A void main()-hez NE szokj hozzá, int main() a szabványos, és a programod térjen vissza 0-val, ha sikeresen lefutott. Lehet itt magyarázkodni, hogy dehát egyes fordítók elfogadják, stb., de akkor sem helyes.
Ezenkívül ismét van két for ciklusod, amiben i nincs deklarálva int-ként (127. és 157. sor a pastebin-en).
Az meg a legrosszabb, hogy nincs semmiféle hibakezelésed (pl. amennyiben a bemeneti adatok helytelenek, akkor írjon ki hibaüzenetet, majd kérje be újra az adatot, és ehhez hasonlók), ahogy már Jester01 is írta.
Amúgy most kipróbáltam, és felvittem egy karóra meg egy falióra adatait (mellesleg a mutatók számához (amit bekérsz) beírhatok nyugodtan akár 532-t is, azt is elfogadja...), és a végén azt írta ki, hogy nincs a nyilvántartásban óra...
(ergo nem működik)
Mellesleg elég érdekesnek tartom, ha Ti C-t tanultatok, és vegyítettétek a tananyagot az objektum-orientált programozás C++-os elveivel...
És ezek szerint a tanár hülyeségeket (csupa nem szabványos dolgot) oktatott nektek. Gáz.
-
macikos
addikt
Átírtam a régi programomat, most így néz ki: [link]
Működik, szerintem jó is
Már csak a "legolcsóbb kvarc működési elvű, műanyagházas falióra ára"-nak kiiratása kellene.
Minimum keresés algoritmus hogy néz ki?
Maximum keresés menne, de nem tudom miért, a minimumra nincs ötletem
-
Jester01
veterán
válasz
macikos #1888 üzenetére
Mert a szabvány az #include <iostream>, továbbá using namespace std; ajánlott.
getch ugyancsak nem szabványos, ahol ezt tanítják ott baj van. Természetesen az egész conio.h nem szabványos, a képernyőtörlésre sincs sajnos szabványos megoldás. Ilyen beandadókban általában nincs is jelentősége, sokkal fontosabb (jobb helyeken) az, hogy szabványos kód legyen. -
macikos
addikt
válasz
Sk8erPeter #1883 üzenetére
Egyébként az isotream.h miért is nem jó? Megkerestem a saját beadandómat, ami hasonló feladat volt és az működik. Lehet azt átírom
-
macikos
addikt
válasz
Sk8erPeter #1886 üzenetére
getch-val mi a baj? Nekünk ezt így tanították
Nagyon idejétmúlt? Ez van
Jester01: Köszönöm, akkor egy "kicsit" átdolgozom a kódot
A poén az, hogy azért én csinálom meg haveromnak, mert nekem már megvan a C programozás, sőt 4-est kaptam belőle
(Nem vagyok infós, nyugi
)
-
Sk8erPeter
nagyúr
válasz
Jester01 #1885 üzenetére
No de ezt miért nekem mondod?
Én mondjuk ilyen szinten meg se néztem, mert kb. 1 perc nézegetés után feladtam, annyira rosszul volt indentálva. Igaz, az utána lévő eredmény is elég fos, mert igazad van, totális keverék az egész, azokkal a hibákkal, amiket leírtál.
Még ettől a getch-tól van hányingerem. -
Jester01
veterán
válasz
Sk8erPeter #1883 üzenetére
Az egésznek egyetlen előnye van: tényleg elhiszik majd, hogy az az illető csinálta aki beadja ...
Ez C és C++ keveréke, globális változókkal, gets használatával, puffer túlcsordulással, boolean kifejezések helyett egymásba ágyazott feltételekkel, string-int keveredéssel, értelmetlen cast-olással, logikai hibákkal, abszolút hibakezelés nélkül és még a saját függvényeit is rosszul használja.
Azt, hogy az utolsó két for ciklus mit csinál nem is értem. Az első kikeresi a maximum árat (ami majdnem jó is lenne, ha nem a minimumot kellene) a másik ciklus pedig nem is tartalmaz a ciklusváltozótól függő kifejezést. Egyszerűen átteszi a talált maximum árat db1-ből db2-be. Utána pedig ezt az árat próbálja indexként használni ... ó jajj. Hogy ezek miért db nevű változók az már csak a hab a tortán.
-
macikos
addikt
válasz
Sk8erPeter #1883 üzenetére
-
Sk8erPeter
nagyúr
válasz
macikos #1882 üzenetére
És ez hol C? Ez C++.
Nem tudnád feltenni valami normális szintaktika-kiemelős helyre, ahol nem megy szarrá a tördelés? Ez így teljes mértékben átláthatatlan. Pl. pastebin.com
Mellesleg a for ciklusoknál rendszeresen lehagyod az i deklarációját (int i=0; helyett sima i=0;-t írsz, míg a korábbi int i változók csak a cikluson belül élnek)
ezenkívül a clrscr(); nem minden fordítónál működik, helyette működhet pl. a system("CLS");.
Olyan nincs, hogy iostream.h, helyette:
#include <iostream>
Nincs kiterjesztés!
Ezek csak az elsőre feltűnő hibák, de jó lenne, ha felpakolnád áttekinthető, indentált formában, mert ez így nagyon gáz. -
macikos
addikt
Sziasztok!
Kellene egy gyors kis segítség. Megcsináltam egyik haveromnak a számtech beadandót, de mivel én már régen "C-ztem", így szintaktikailag nem lett a legtökéletesebb a progi és nem tudom lefordítani. Ránézne valaki, hogy mi a gond vele? Pár hiba van benne csak.
-
vamzi
senior tag
Sziasztok. Lenne számotokra egy láma kérdésem
Szóval ANSI-C-ben hogy tudom letárolni a sztringeket, ha nem tudom, hogy összesen mennyit fogok kapni, csak azt, hogy 80 karakternél egyik sem hosszabb?
A számokkal meg tudom oldani tömbbe, de ugye a sztring már eleve egy tömb. Vagy éppen emiatt egy 2 dimenziós tömböt kell alkalmaznom? De azt hogyan?
-
klambi
addikt
megoldott feladatokat hol találok?
kellene néhány db... -
Korcsii
őstag
illik char-ral számlálni? vagy jobb a short int?
pl egy for cikluson belül, ahol az i mondjuk max 100 lehet... -
Karma
félisten
válasz
Adamka1999 #1873 üzenetére
Tessék kettő is: GMP, OpenSSL BN.
-
Adamka1999
csendes tag
Üdv!
Szeretnék kezelni nagyon nagy számokat, long double nem volt elég. Esetleg valami ötlet?
-
Gyuri16
senior tag
válasz
AlapVaj #1871 üzenetére
hogyan kapja meg a program a stringeket?
ha parancssori parameter (pl: program.exe alma korte) akkor az argv tombben lesznek a stringek (ez jo, mert a szokozoknel elvalasztja)
erre itt egy pelda:
[link]ha beolvasni kell stdinrol, akkor a legtisztabb megoldas az, hogy beolvasod az egesz sort (getline, fgets), es aztan egy ciklussal vegigmesz rajta, es szetvagod a beolvasott stringet ketto masikba (itt vigyazni kell, hogy le legyen foglalva a hely, ahova a stringeket masolod)
kicsit "csunyabb" megoldas, hogy miutan beolvastad az egesz sort, ami ugy nez ki, hogy "szo1 szo2\0" akkor az ureshelyet lecsereled \0-ra, es egy *chart beallitasz a szo2 elejere (igy meglesz a ket stringed ket valtozoban, es nem kell masolgatni)
-
AlapVaj
csendes tag
Olyan problémám lenne, hogy hogyan kell megírni C-ben ezt:
A program két stinget kap szóközzel elválasztva.
Addig még megy is, hogy elkezdek beolvasni szóközig, de azután hogy folytatom a többi karakter tárolásának megkezdését. Net-en sajnos sehol nem találtam rá programot. Olyat ami két külön álló stringet olvas be. Esetleg valakinek nincs hasonló programja? -
Stefa0009
csendes tag
Inkább Shell script de ha valaki tudna cben segíteni az is jó lenne
-
Stefa0009
csendes tag
Sziasztok!
Szeretnék írni c-ben amely kiírja két dátum között eltelt
időt a felhasználó által választott mértékben. Az első paramétere egy kapcsoló
(‐ev, ‐honap, ‐nap, ( , p, p, ‐ora, ‐perc, ‐masodperc), második és harmadik paramétere (YYYY‐MM‐DD alakban) dátumok. Hibás dátum esetén hibát írjon ki. Tudna valaki ebben segíteni?
Előre is köszi -
Korcsii
őstag
ejj, ezek a fránya char-ok...
short int x,y;
printf("Kezdő koordináta: ");
scanf("(%d,%d)",&x,&y);
printf("%d %d",x,y);ez működik is, de az x,y max 100 lehet, így jobb lenne a(z unsigned) char... ha csak az elsőt adom meg, akkor azt megjegyzi, kiírja, a második valami random lesz... de ha mind a kettőt megadom, az elsőt elfelejti (0 lesz)...
van erre valami egyszerű és szép megoldás, vagy inkább ne sajnáljam azt a plusz 1 (?) byte-ot?
-
eziskamu
addikt
Ha mindig hat számjegyű a szám nincs gond. Példa
az egyik "számsorod" a t= 654321
(a % a maradékos osztás, a lényeg, hogy az osztás maradékával jön vissza, most látom Karma is ezt ajánlotta, de tényleg nem nehéz, csak próbálgasd és jó lesz)
1 egyenlő lesz t(i)%10 -el
2 egyenlő lesz (t(i)%100 - t(i)%10)/10
3 egyenlő lesz (t(i)%1000 - t(i)%100 - t(i)%10)/100
és így tovább.
Mivel int-ekről van szó ezért lehet, hogy el is hagyhatjuk a kivonásokat, mert asszem nem kerekít a C osztáskor, csak simán levágja a tizedespont utánni cuccokat -
Karma
félisten
A char egy -128-tól 127-ig terjedő egész szám, csak véletlen, hogy a karaktereket is ezzel írja le a paraszt a C nyelvben. Mivel belül nem tizes számrendszerben tárolja a rendszer a számokat, de még csak nem is BCD-ben, Neked kell kézzel kiszámolnod az egyes helyiértékeket. A tizes maradékos osztás csodákra képes
-
vamzi
senior tag
Na, itt egy újabb hülye kérdés.
Van nekem egy tömböm tele int-tel. Hogyan tudnám átadni a tömb elemeit egyesével 1-1 char-nak? A lényeg, hogy a beolvasott int egy 6 jegyű számsorozat és azt szeretném adatbázisból visszakeresni és számjegyekre visszabontani a switch - case ciklusomnak. A feladat maga csak annyi lenne egyébként, hogy nagyon sok számsorozatot olvasunk be és meg kell számolni, hogy melyik számjegyből mennyi van, plusz egy két apróbb dolog van még benne. Nem azért írtam le, mi a feladat, hogy megoldjátok nekem, csak hogy tudjátok miről van szó. Engem csak a típus konverzió érdekelne, hogy hogyan is csináljak intből chart és vica versa -
vamzi
senior tag
válasz
Sk8erPeter #1857 üzenetére
Köszönöm, a választ, azóta már be inklúdoltam a math.h-t. Viszont a feltétel megadása új volt, vagy is még nem gondoltam rá, de tetszik. Viszont egyelőre marad a break.
-
Sk8erPeter
nagyúr
A pow-hoz include-old a math.h-t is! Tehát az alábbi sort még pakold bele:
#include <math.h>(#1853): a for ciklusból nemcsak break-kel lehet kilépni, hanem úgy is, ha teljesül a feltétel, ami miatt a ciklus megszakad.
Pl.
for(i=0; i<n || valami_mas==vege_feltetel; i++)
/* ... */
Persze nemcsak vagy-olhatod (||) hanem és-elheted (&&) [szép magyar szavakkal élve] is egy másik feltétellel.
-
vamzi
senior tag
Egyelőre jegelve a korábbi feladat, majd kitudom, hogy más hogyan oldotta meg a tipusokat.
Viszont lenne egy kérdésem:
a for ciklusból ki lehet lépni a vége előtt? Van rá valami parancs? Esetleg olyan, amit a c90-es szabvány is támogat?
Azt akarom megoldani, hogy van egy előre meghatározott halmazom csökkenő sorrendben és egyesével addig vizsgálom őket, míg a végére érek, vagy az első egyezést meg nem találom, onnantól véget kellene vetni a ciklusnak. Ezt én forral szeretném megoldani, bár rekurzívan valószínüleg könnyebb dolgom lenne, de sajnos nem nagyon értem a rekurzív dolgokat, pedig ülök és figyelek órán, könyvet is bogarászom, de valamiért nem akar átjönni a logikája. -
-
vamzi
senior tag
A feladat szövege:
A vb hangja„KO-RE-A, KO-RE-A” – kiabálta 54 000 boldog futballszurkoló, miután csapatuk a hazai rendezésű világbajnokságon bejutott az elődöntőbe. Izgatottságuk dacára azonban a koreai emberek természetüknél fogva nagyon szervezettek. Például hatalmas, hajókürthöz hasonló hangú trombitákkal szurkoltak a pályán játszó csapatuknak. A szurkolók egy állandó zajszintet szeretnének fenntartani a meccs teljes ideje alatt.
A trombiták sűrített levegővel működnek, azonban ha 2 másodpercig folyamatosan fújják őket, elromlanak. Ezért amikor a trombita hangot ad, minden rendben van, de a trombitahangok szüneteiben a szurkolóknak a „KO-RE-A” kiáltást kell harsogniuk.
A mérkőzés előtt egy szurkolócsoport összegyűl és eldönti a kiáltás mintáját. A minta 0-k és 1-esek sorozata, amelyet a következőképpen értelmezünk: ha a minta 1-es, akkor a trombita kerül megfújásra, ha pedig 0, akkor a „KO-RE-A” kiáltás következik. Annak érdekében, hogy a trombiták nehogy elromoljanak, a minta nem tartalmazhat két egymást követő 1-est.
Ebben a feladatban tehát egy adott, pozitív egész n-re meg kell határozni az ilyen hosszúságú kiáltási mintákat, vagyis azon n bites sorozatok darabszámát, amelyek nem tartalmaznak egymás melletti 1-eseket. Például n = 3 esetén a megoldás 5 (a 000, a 001, a 010, az 100 és az 101 sorozatok elfogadhatóak, míg a 011, az 110 és az 111 nem).
Input
Az első sor a tesztesetek számát tartalmazza. Az első sort követő sorok mindegyike egy-egy tesztesetet ír le. Minden teszteset egy olyan sor, amely egyetlen, 51-nél kisebb egész számot tartalmaz.Output
Minden teszteset kimenete egy olyan sorral kezdődik, amely a „Scenario #i:” szöveget tartalmazza, ahol i a teszteset sorszáma. A tesztesetek sorszámozása 1-től indul. Ezt követően egy újabb sorba kell kiírni az egymás melletti 1-eseket nem tartalmazó n bites sorozatok darabszámát. Minden teszteset kiírását egy üres sorral kell lezárni.********************************************************************************
A megoldásom:
#include <stdio.h>
long long int tomb[100], tesztesetek_szama, i, eredmeny;
int main(){
scanf("%d",&tesztesetek_szama);
for (i=0;i<tesztesetek_szama;i++){
scanf("%d",&tomb[i]);
}
for (i=1;i<=tesztesetek_szama;i++){
eredmeny = ((pow( (1+sqrt(5)),(tomb[i-1]) )) * ( 5+(3*sqrt(5)) ) + ( pow( (1-sqrt(5)),(tomb[i-1]) ) ) * ( 5-(3*sqrt(5)) )) / ( 10*(pow( (2),(tomb[i-1]) )) );
printf("Scenario #%d:\n",i);
printf("%lld\n",eredmeny);
printf("\n");
}
return 0;
}CodeBlocks-ban szépen lefordul és működik, de a szerveren ahol tesztelni kell, elég sok hibát dob, a nagyját mindjárt meg is oldom(remélem) csak van egy kis dolgom. Egyébként itt a hibaüzi:
FordĂtás: bead1.c:2: error: ISO C90 does not support â€�long long’
bead1.c: In function �main’:
bead1.c:6: warning: format �%d’ expects type �int *’, but argument 2 has type �long long int *’
bead1.c:8: warning: format �%d’ expects type �int *’, but argument 2 has type �long long int *’
bead1.c:12: warning: implicit declaration of function �pow’
bead1.c:12: warning: incompatible implicit declaration of built-in function �pow’
bead1.c:12: warning: implicit declaration of function �sqrt’
bead1.c:12: warning: incompatible implicit declaration of built-in function �sqrt’
bead1.c:13: warning: format �%d’ expects type �int’, but argument 2 has type �long long int’
bead1.c:14: warning: ISO C90 does not support the �ll’ printf length modifier
FordĂtási hiba.
Exit status: 3 -
vamzi
senior tag
Sziasztok. Kis típus hibával küszködök:
A bemenet első sora jelzi a tesztesetek számát, a többi maga a teszteset.
#include <stdio.h>
long int tomb[100], tesztesetek_szama, i, eredmeny;
int main(){
scanf("%d",&tesztesetek_szama);
for (i=0;i<tesztesetek_szama;i++){
scanf("%d",&tomb[i]);
}
for (i=1;i<=tesztesetek_szama;i++){
eredmeny = ((pow( (1+sqrt(5)),(tomb[i-1]) )) * ( 5+(3*sqrt(5)) ) + ( pow( (1-sqrt(5)),(tomb[i-1]) ) ) * ( 5-(3*sqrt(5)) )) / ( 10*(pow( (2),(tomb[i-1]) )) );
printf("Scenario #%d:\n",i);
printf("%d\n",eredmeny);
printf("\n");
}
return 0;
}Bemenetnet:
Kimenet(hibás):
Helyes megoldás:
5
10144
144
20
17711
17711
30
2178309
2178309
40
267914296
267914296
50
-2147483648
32951280099
Próbáltam már több féle tipust is, de mindegyikkel így jártam.
A sorok kicsit elcsúsztak, de szerintem még érthető. Az az 5ös a bemeneten ugyebár a tesztesetek száma. Az eredményben egyébként ez a képlet van lekódolva. -
harry
veterán
válasz
egyjotakaro2 #1833 üzenetére
Az még ok, hogy nincs rá pénz, na de így keresni, hogy ingyen kéne egy profi programozó...
Akkor legalább úgy írnád le, hogy segítséget szeretnétek kérni, vannak kérdéseitek, stb., nem pedig ingyen valaki nyakába varrni egy ilyen melót. Ráadásul más bugjai után turkálni meg foltozni, hát... Amúgy meg tán inkább php topic.
-
egyjotakaro2
tag
Helló. Kellene nekem egy profi programozó aki hobbyból elvállalna egy mmorpg oldal programozását. Az oldalmotor meg van (php,képek,sql....) Csak ki kellene javítani a bug-kat és hozzá írni egy pár frissítést.Kiemelném, hogy csak hobbyból és szórakozásból vállalja el mert sajna fizetni nem tudok! Várom a jelentkezőket. És a többit P.Ü-ben megbeszéljük.
-
Korcsii
őstag
válasz
Sk8erPeter #1826 üzenetére
valóban, igazad van, most át is pakoltam, viszont a helyzet nem változott
Dev-C++ a fordító egyébként...szerk:
ui: én meg ugyanoda szeretnék... -
Sk8erPeter
nagyúr
válasz
Gyuri16 #1824 üzenetére
Hű, na most ez így már tényleg bonyolultabbnak hangzik, mint elsőre gondoltam...de majd végiggondolom. Szerintem holnap megpróbálom megcsinálni, ma már nincs agyam hozzá.
Csak azért gondoltam viszonylag egyszerűnek, mert nem egy általános jellegű regexp ellenőrzőt szeretnék készíteni, hanem csupán a feladatnak megfelelőt. De meglátjuk, lehet, hogy sok cumi lesz vele...
Ja, egyébként köszi az ötleteket, majd utánanézek az általad írt dolgoknak.
Formális nyelvek már nincs BSc-n.(#1823) harry: szintén zenész?
Nem is tudtam, hogy Te is ugyanoda jársz.
-
Sk8erPeter
nagyúr
-
Korcsii
őstag
fogadjuk valami kezdőkre jellemző hiba, de akkor sem tudok rájönni:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
int main (void) {
// az elejét inkább nem idézem be
printf("Kérek egy évfolyamot: ");
short int evfolyam;
scanf("%d",&evfolyam);
printf("Kérek egy osztályt: ");
char osztaly;
scanf("%c",&osztaly);
printf("%d %c\n", evfolyam, osztaly);
}namármost ha az evfolyam-ot nem kérem be, akkor ok minden, kiírja az osztályt (még ha az évfolyamnak adok kezdőértéket, akkor is)... de így egyszerűen átugorja a második scanf-et, és nem tudom, hogy mi lehet a hiba
ha megcserélem a kettőt, akkor mind a kettőt bekéri, de mire a kiíráshoz jut, elfelejti az osztály... ennyire benéztem volna valamit?
előre is kösz, mert én már felrobbanok
-
Gyuri16
senior tag
válasz
Sk8erPeter #1822 üzenetére
nem tudom mire gondolt shev7, de en kb igy csinalnam:
eloszor papirra lerajzolnam a nem determinisztikus automatat (NFA). ebbol lehet ekvivalens determinisztikusat csinalni (DFA), mivel a DFA es NFA ereje ugyanakkora. ez kicsit maceras, de meg lehet csinalni. ha ez megvan akkor az atmeneti fuggvenyt valami ertelmes adatstrukturaba rakod, es onnan mar csak szimulalod a DFA-t.
ha nem volt meg formalis nyelvek es automatak tantargyad akkor vagy kitalalsz valamilyen sajat modszert, vagy valahol elolvasod mik a fenti dolgok (DFA es NFA a legegyszerubb modell, ugyhogy a tankonyvek elejen szok lenni)Én viszonylag egyszerű megoldásra gondoltam, hogy ellenőrizgetem, hogy megfelel-e a reguláris kifejezéseknek
ezzel csak az a gond, hogy nem olyan egyszeru mint hangzik -
harry
veterán
válasz
Sk8erPeter #1815 üzenetére
Szintén prog2, jó hftest
Nekem is ez jön, a 6. Majd gondolom fel kéne rajzolni az állapotgépet, aztán annak megfelelően kéne generálni a mindenféle karaktereket... a 4. feladatban amúgy tényleg elég volt csak kézzel befirkálni illeszkedő sorokat. -
Sk8erPeter
nagyúr
Akkor lődd le a poént, légyszi!
Írd le nagyvonalakban, kíváncsi vagyok!
Én viszonylag egyszerű megoldásra gondoltam, hogy ellenőrizgetem, hogy megfelel-e a reguláris kifejezéseknek, semmiféle "determinisztikus állapotautomatára" nem gondoltam, főleg, hogy egyelőre azt se tudom, mi az (legalábbis - tudtommal- még eddig egy tárgyból se vettük).
-
shev7
veterán
válasz
Sk8erPeter #1817 üzenetére
Hat determinisztikus allapotautomatat nem annyira nehez rajzolni hozza. Ha az megvan onnan nem nehez. De nem lovom le a poent
-
Karma
félisten
válasz
Sk8erPeter #1817 üzenetére
Fincsi feladat, tiszta nosztalgia
-
Sk8erPeter
nagyúr
Igen!
Mondjuk az ezután lévő feladat már kicsit komplikáltabb, ehhez már tényleg kell állapotgép, az meg tökölősMondjuk leginkább akkor tökölős, ha ilyen tök általános jellegű regexp felismerőt szeretnék írni, mert akkor nem elég csak azzal foglalkozni, ami a konkrét feladat, de azt hiszem, az általános célút majd inkább máskor.
"Írjon C programot, amely a standard inputon érkező szöveg sorait
megszámolja, és megszámolja azokat a sorokat is amelyekre az alábbi
(ld. 4. feladat) reguláris kifejezes illeszkedik:^[^#]_*(0x)*[0-9]+W6.*[a-z]+.+qqriq(A|a)
A program az eredményt két oktális számként írja ki a standard outputra!
A két számot / jellel válassza el, és a sort sorvégjellel zárja le pl:
123/71A fenti reguláris kifejést Önnek kell értelmeznie és nem kell értelmező
programot készítenie hozzá! Pl. a [A-Z]+ kifejezéshez olyan állapotgépet
kell készítenie, ami felismeri a nagybetűkből álló sorozatot." -
Karma
félisten
válasz
Sk8erPeter #1815 üzenetére
Ez egyébként ahhoz a hftestes hülyeséghez kell, nem?
Tényleg ez a megoldás, amit írtál, egy for ciklus és szevasz.
Én is így csináltam. -
Sk8erPeter
nagyúr
Köszi, teljesen tiszta.
Így nem túl nehéz generálni megfelelő adatfolyamot...
Pl.:
#include <stdio.h>
int main()
{
int i;
for(i=0;i<181;i++)
printf("Kiirok valamit\n");
printf("a__0x0x56W6AafqqriqA\n");
printf("a__0x56W6AafqqriqA\n");
printf("a_0x0x6W6Aafqqriqa\n");
return(0);
}Ennyi, működik.
------------------
(#1800) -Zeratul-:
"bme prog alap 1?"
Ez már prog 2.Amúgy vicces kissé, hogy prog 2-t, ami elvileg színtiszta C++, úgy kezdjük, hogy 3 gyakorlat és 3 szoftlab csak sima C-ről szól.
Első szoftlabon kábé azt vettük át megint, hogy mi az a printf(), azt hittem, eldobom az agyam...
De szerencsére csak egy egyperces novella volt.
Ja, az állapotgépes feladatnak most kezdek hozzá, elsőre nem tűnik olyan egyszerű feladatnak... (bár gondolom nem is kell belehalni) -
doc
nagyúr
ratapintottal a szomoru lenyegre
az 50-60 eves tanarok akik az ANSI C-n kivul mashoz nem ertenek, tobbnyire nem tudnak es nem is akarnak megbirkozni egy modern kornyezettelmondjuk annyival egyet tudok erteni, hogy a nyelv megtanulasahoz nem kell bonyolult fejlesztokornyezet, minel egyszerubb annal jobb
bar akkor meg megint nem nyero a TC, aminek borzalmas a szerkesztoje, raadasul az idiota Borland-sajatossagokat nevelik a tanulokba
ha en tanitanek C-t, adnek egy sima szovegszerkesztot (vim rulz
de tolem hasznalhatnanak barmilyen normalis szerkesztot) plusz ott a gcc ill egy egyszeru Makefile-t osszehozni is nagyon konnyu
-
fess
őstag
sziasztok
valaki használja a sima c-t win7 alatt? nekem nem engedi kitenni teljes méretbe,ami még nem lenne olyan nagy probléma,de sok karakterpl.() máshol ismer fel mint ahol valójában van a billentyűzeten,de párat fel sem ismer pl.[]>< ez mitől lehet? -
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- LG 48C3 - 48" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen6 CPU
- AKCIÓ! Intel Core i7 7700K 4 mag 8 szál processzor garanciával hibátlan működéssel
- BANKMENTES részletfizetés Noblechairs HERO Fekete/Platinafehér Gamer Szék
- REFURBISHED - HP USB-C Universal Dock G1 docking station (DisplayLink)
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest