Hirdetés
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- Magga: PLEX: multimédia az egész lakásban
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Elektromos rásegítésű kerékpárok
- hcl: Huawei Mate 10 kókányolás
- Real Racing 3 - Freemium csoda
-
LOGOUT

Új hozzászólás Aktív témák
-
janos1988
addikt
Engem kiráz a hideg a C nyelvtől. Annyira fapados, de legalább cserébe, ha nem figyelsz nagy az esélye, hogy elbaszol mindent

De kell foglalkozni vele, ha az ember a Java nyelvre akar koncentrálni (Android).
Ezekiell: Köszi a listát, ráállok majd.
-
janos1988
addikt
Köszi.

De amúgy rácsodálkozok még most is, hogy milyen zseniális megoldást írtál, lekezeltél vele mindent röviden és tömören. Nekem még csak hasonló sem jutott volna eszembe. Igaz 1 hónap után mit vár az ember...
Hiába tervezném meg előtte papíron 5x 5 féleképpen, egyik sem lenne ennyire rövid, tömör, logikus és magától értetődő. -
janos1988
addikt
válasz
janos1988
#14178
üzenetére
Kisebb sikerélmény, sikerült megoldani a szóközöket.
program szoveg_bontas;function bontas(s1:string;var pos1:integer):string;beginbontas:='';while (s1[pos1]<>#32) and (pos1<>length(s1)+1) dobeginbontas:=bontas+s1[pos1];inc(pos1);end;if s1[pos1]=' ' then inc(pos1);end;vars2,s3:string;pos2,t,i:integer;tomb:array [1..10] of string;beginpos2:=1;t:=1;s2:=' Ez megint egy szep hosszu proba mondat.';repeats3:=bontas(s2,pos2);if s3<>'' thenbegintomb[t]:=s3;inc(t);end;until pos2>length(s2);for i:=1 to t do writeln(tomb[i]);end. -
janos1988
addikt
Az ilyen megoldásokon csak pislogok. Messze vagyok még az ilyen kivitelezéstől.

A több szóköz opcióra nem is gondoltam...
Amúgy mi ez a +1 -1 fétis?
Valami programozásbeli trükk? Mert érdekes, hogy elméletileg balansz van -1 és +1 között, de ha kitörlöm ezeket akkor mégis megbomlik az egyensúly és káosz lesz. Érdekes.
Hogy ha valamivel dolgozni akarsz akkor érdemes mindig egy átmeneti változóba másolni a tartalmát, mintsem hogy az eredetivel dolgozz?
A tömböt ajánlott mindig feltölteni? Ne bízz a rendszerben elv végett
Illetve a "delete(tmp,1,length(szo)+1)" helyett mehet a "delete(tmp,1,pos1)" is? Végül is működik.
Egyelőre ennyi
Amúgy meg elméletileg az enyémbe át kellene ugrania a szóközöket tárolás nélkül, de a gyakorlatban nem úgy működik.
-
janos1988
addikt
válasz
janos1988
#14174
üzenetére
A temps-re nincs is szükség és 2 komment.
program szoveg_bontas;function bontas(s1:string;var pos1:integer):string;beginbontas:='';while (s1[pos1]<>#32) and (pos1<>length(s1)+1) do //a . lemarad ha nincs +1beginbontas:=bontas+s1[pos1];inc(pos1);end;inc(pos1); //szokoz (#32) atugrasaend;vars2:string;pos2,t,i:integer;tomb:array [1..10] of string;beginpos2:=1;t:=0;s2:='Ez megint egy szep hosszu proba mondat.';repeatinc(t);tomb[t]:=bontas(s2,pos2);until pos2>length(s2);for i:=1 to t do writeln(tomb[i]);end. -
janos1988
addikt
Viszont elkészült a szétbontó program. Próbáltam máshogy és/vagy egyszerűbben megoldani, de nem ment, ennyire telik tőlem egyelőre.
program szoveg_bontas;function bontas(s1:string;var pos1:integer):string;vartemps:string;begintemps:='';while (s1[pos1]<>#32) and (pos1<>length(s1)+1) dobegintemps:=temps+s1[pos1];inc(pos1);end;bontas:=temps;inc(pos1);end;vars2:string;pos2,t,i:integer;tomb:array [1..10] of string;beginpos2:=1;t:=0;s2:='Ez megint egy szep hosszu proba mondat.';repeatinc(t);tomb[t]:=bontas(s2,pos2);until pos2>=length(s2);for i:=1 to t do writeln(tomb[i]);end. -
janos1988
addikt
válasz
janos1988
#14161
üzenetére
Ez az egész arra kellett, hogy ha egy fájlból beolvasom a sorokat (#10#13) akkor azt szét tudjam bontani és a szeparált adatokat a rekord megfelelő mezőibe bemásolni. De közben rájöttem, hogy ez nem lesz annyira egyszerű.
Addig, oké, hogy szétszedem a sort, de, hogy mondom meg neki, hogy az első szétszedett részt rakja be a rekord első/megfelelő mezőjébe és így tovább... Fejben már vannak tervek, hogy kettészedem a szeparálós algoritmust két függvénybe és a visszatérési értékét fogom megadni a rekord egyes mezőibe, de hogy ez mennyire fog működni a gyakorlatban... De ez már a holnapi feladat lesz. De "léci" egyelőre ne adjatok tippeket, küszködni akarok vele. -
janos1988
addikt
válasz
kovisoft
#14157
üzenetére
Végül is így sikerült közben megoldani (illetve ezek más "elrendezése" és/vagy a while do ciklus használata, de a végeredmény ua):
program felbontas;vars1,s2:string;i:integer;begins1:='Ez egy szep hosszu proba mondat akarna lenni.';s2:='';for i:=1 to length(s1) dobeginif (s1[i]<>#32) then s2:=s2+s1[i]elsebeginwriteln(s2);s2:='';end;if i=length(s1) then writeln(s2);end;end.Közben olvasgattam és beugrott, hogy van a C-ben használatos 0 végű sztring is a Pascalban (PChar), de azzal is hasonló megoldások születnek (születtek). Bár előnye, hogy meghatározható a vége (#0). Köszi neked is és a többieknek is!
-
janos1988
addikt
válasz
janos1988
#14151
üzenetére
A . lemaradása már megvan, mert ha a for ciklus elér a 45. lefutáshoz akkor i<>45 hamis (mivel i=45) lesz így már a feltétel is hamis lesz, azaz else ág. Na de, hogy tudom mégis kiíratni.

Szerk.: Ha a for ciklushoz hozzáadok egyet for i:=1 to length(s1)+1 és a kiértékeléshez is (i<>length(s1)+1) akkor minden okés. De szerintem ezt nem így kell(ene) megoldani, hogy túlfuttatom a cilust.
-
janos1988
addikt
Próbáltam magamtól egy mondatot feldarabolni de nem megy, csak vakarom a fejem.
Ha így csinálom, akkor lemarad a "lenni." rész:
program felbontas;vars1,s2:string;i:integer;begins1:='Ez egy szep hosszu proba mondat akarna lenni.';s2:='';for i:=1 to length(s1) dobeginif s1[i] <> #32 then s2:=s2+s1[i]elsebeginwriteln(s2);s2:='';end;end;end.Ha így próbálom, akkor pedig a ".":
program felbontas;vars1,s2:string;i:integer;begins1:='Ez egy szep hosszu proba mondat akarna lenni.';s2:='';for i:=1 to length(s1) dobeginif (s1[i]<>#32) and (i<>length(s1))then s2:=s2+s1[i]elsebeginwriteln(s2);s2:='';end;end;end. -
janos1988
addikt
válasz
Create.
#14117
üzenetére
Maga a stílus sem túl megnyerő. Nem beszélve a videóban elkövetett hibákról, amik tényleg banálisak egy "oktatótól".
Viszont felnéztem az általad említett Webler oktatóstúdió weboldalára. Pl. a szoftverfejlesztő okj viszonylag jónak tűnik, tematikája is tetszik*, de nekem az ilyenekkel két bajom van. Csak heti 2 alkalommal van oktatás és ezáltal nagyon elnyújtják a képzési időt (fölöslegesen), másik maga az igazi gyakorlati rész, ahol közösen el kezdenek fejlesztenek egy alkalmazást a kurzus végén (2-3 hét), hogy összeálljon a kép és egy kis gyakorlatot is szerezzenek. Ahhoz hasonlítanám az ilyet, mint amikor a b kategóriás jogosítványt megszerzed úgy, hogy a sikeres elméleti vizsgákat teljesítetted, meg mentetek az oktatóval 2-3 kört a rutinpályán, aztán ég veled. A többit majd a forgalomban megtanulod, hisz az elméleti rész már ott van a fejben.
* Igazából ha végignézd a tematikát, semmi olyan extra nincs benne amit te magad néhány könyvből és a tengernyi sok ingyenesen elérhető oktatóvideóból ne tudnál megtanulni.
-
janos1988
addikt
válasz
Create.
#14111
üzenetére
Én is szemezgettem az ilyen gyorstalpalókkal, de kis utánaolvasás (gyik) után lebeszéltem magam róla.
GitHub feltöltéseikbe is bele nézegettem. 10. héten még mindig alap dolgokkal futottam össze, pedig ha az ember önképez otthon videók és pdf-ek által, már kicsit összetettebb programokkal is meg kellene, hogy birkózzon. Nem azt mondom, hogy nem tanulsz semmit sem ha elvégzed, de annyi pénzért amennyibe kerül, az átadott tudás nagyon kevés és akkor még ott vannak a feltételek is, ha nem sk-n végzed el.
-
-
janos1988
addikt
válasz
Reflax
#14039
üzenetére
Ezek szerint a játék készítés tetszik. Hajrá! Maradj ennél, és ebbe mélyedj el. Mire befejezed az egyetemet és a lelkesedésed is mindvégig megmarad, valószínűleg fel fogsz tudni mutatni 2-3 komolyabb saját alkotást is, ami azért már elég jól fog mutatni az önéletrajzodban.
-
janos1988
addikt
válasz
Reflax
#14030
üzenetére
Én, mint egyszerű ember azt mondom neked, hogy ha mindenhez akarsz érteni, akkor igazából semmihez sem fogsz. Döntsd el melyik irány fog neked feküdni. Azt pedig úgy tudod meg, hogy rászánsz 3-4 hónapot egy témára 100%-al, minden mást mellőzöl addig a terveidből. Kezdésnek a játék fejlesztés valóban tökéletes lehet. Bár igazából már ez is elég komplex feladat lett. Grafika, történet, zene, leprogramozás, ezek mind-mind külön szakok már. Csak keress rá yt-on pl. egy szimpla indie játék fejlesztési naplójára, aki egyedül készíti, hogy lásd mennyi időt beleöl mire egy használhatóbb terméket letesz az asztalra. De szerintem ilyenekbe még ne ugorj bele. Kezdj egyszerűbbekkel, tic tac toe, kigyó, block breaker, esetleg aknakereső, vagy mind a négy is akár
Aztán légy kreatív, adjál hozzá új funkciókat amik bonyolítják a játékmódot stb..és rájössz, hogy nem is olyan egyszerű, és meg még csak az alap. -
janos1988
addikt
válasz
kovisoft
#14034
üzenetére
Ki akartam kerülni a belső _mindiglefutó_ if elso=nil ellenőrzést, úgy, hogy a repeat előtt bekérem az első láncszemet és értekül adom az elsőnek+utolsónak. De így nagyon áttekinthetetlen az egész, jobb az eredeti.
Igen, már látom, ahogy felhívtad rá a figyelmem, a 0 ellenőrzése elmaradt az átírt változatban.
-
janos1988
addikt
Hali. Kellemes húsvéti ünnepeket!
repeatwriteln('Kerek egy szamot (0-bevitel vege):');readln(a);if a>0 then beginnew(uj);uj^.szam:=a;uj^.kov:=nil;if elso=nil then elso:=ujelse utolso^.kov:=uj;utolso:=uj;end;until a=0;Ezt átírtam így:
writeln('Kerek egy szamot (0-bevitel vege):');readln(a);new(uj);uj^.szam:=a;uj^.kov:=nil;elso:=uj;utolso:=uj;repeatwriteln('Kerek egy szamot (0-bevitel vege):');readln(a);new(uj);uj^.szam:=a;utolso^.kov:=uj;utolso:=uj;until a=0;utolso^.kov:=nil;"Minden jó", leszámítva azt, hogy kiírja az átírt változat a 0-át, amit az eredeti nem (a 0 az egy kilépési feltétel).
Ha én is hasonlót fogok majd készíteni, akkor melyik megoldás a jobb/szebb?Köszi!
-
janos1988
addikt
-
janos1988
addikt
válasz
janos1988
#13999
üzenetére
Az én mitudoménhanyadik verzióm, de ez meg végtelen ciklusba megy át.
program ermek_demo;constn=2;typea = array [1..n] of integer;constermek:a=(1,2);function f_kombok(ermek:a;osszeg:integer):integer;varkombo,temp:integer;beginif osszeg=0 then f_kombok:=kombo;if osszeg<0 then f_kombok:=0;kombo:=0;for temp:=1 to n do kombo:=f_kombok(ermek,osszeg-ermek[temp]);f_kombok:=kombo;end;beginwriteln(f_kombok(ermek,4));readln;end. -
janos1988
addikt
https://www.youtube.com/watch?v=d5x8aejKUSQ&
Ezt valaki Pascal nyelven le tudná írni? Nekem sehogy sem akar összejönni.
-
janos1988
addikt
-
janos1988
addikt
Köszi mindenkinek! Elolvastam, megnéztem mindet, de az öreg volt az i-re a pont!
Tipikus tudásbeli hiányosságom volt. De hogy teljes(ebb) legyen a kép, holnap még egy kis Hanoi tornya és egy kis Fibonacci nyulak.
-
janos1988
addikt
válasz
Silεncε
#13963
üzenetére
Huh. Már majdnem kezdtem megérteni általad, amikor kicsit módosítottam rajta, hogy követhetőbb legyen. Így sikerült elérnem, hogy teljesen belezavarodjak.
Szóval addig fut amíg érteket nem kap az f1 (1-et). Visszatér. Stimt.
"És így ezután szépen egymás után visszatér a 0+1, 0+2, ... n-1, n is. Ezért van az, hogy fordítva íródik ki." - De ezt a részt nem értem.
Ahogy látszik az új képen, f1 mikor felveszi az 1-et már csak az else ág fut le. De ott is valamiért értékfelvétel előtt csak az /ELSE ELŐTT, azután már csak az /ELSE UTÁN, annak ellenére, hogy egy begin end; fogja össze őket. Ráadásul azt sem értem, hogy ha 0 lesz az n értéke (mert látszik, hogy annyi lesz), utána, hogy fogja növelni? Mi által? Hisz növeli.
Vagy valamit én néztem be nagyon csúnyán? -
janos1988
addikt
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- 22" Samsung SyncMaster 2233BW
- AMD Ryzen 7600X AM5 processzor eladó doboz+gari
- Dell latitude 5330 i5-12.gen / 8gb ddr4 / 250gb ssd / magyar Bill. (Fedlapja kopott, karcos)
- Dell OptiPlex 3010 MT , i3-3240, 8Gb RAM, 256GB SSD- KIS HIBÁS!!
- Zotac Magnus One barebone számítógép Core i5 processzor, 32 GB memória és RTX 3060 VGA kártyával
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
- BESZÁMÍTÁS! Apple MacBook Air 15 M4 24GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- Bomba ár! Lenovo X1 Yoga 1st - i7-6G I 8GB I 256SSD I 14" WQHD Touch I HDMI I W11 I CAM I Garancia
- Eredeti Lenovo 65W USB Type C notebook töltő
- LG 27UN880-B - 27" IPS ERGO - 3840x2160 4K - 60Hz - DisplayHDR 400 - USB Type-C - AMD FreeSync - Mac
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő





Valami programozásbeli trükk? Mert érdekes, hogy elméletileg balansz van -1 és +1 között, de ha kitörlöm ezeket akkor mégis megbomlik az egyensúly és káosz lesz. Érdekes.
Addig, oké, hogy szétszedem a sort, de, hogy mondom meg neki, hogy az első szétszedett részt rakja be a rekord első/megfelelő mezőjébe és így tovább... Fejben már vannak tervek, hogy kettészedem a szeparálós algoritmust két függvénybe és a visszatérési értékét fogom megadni a rekord egyes mezőibe, de hogy ez mennyire fog működni a gyakorlatban... De ez már a holnapi feladat lesz. De "léci" egyelőre ne adjatok tippeket, küszködni akarok vele.

Az nem fér a fejembe, hogy nem pont visszafele kellene lefutnia?! Pedig már direkt kommenteltem is writeln-el. Az f2 függvény az evidens és "számomra" jól is fut. Köszi előre is a segítséget. Faktoriális számolása:
