Hirdetés

2024. június 14., péntek

Gyorskeresés

Hozzászólások

(#7151) Karma válasza sirszevenap (#7150) üzenetére


Karma
félisten

Magyar esetén semmi, bármelyiket választhatod, és elég az egyik.

“All nothings are not equal.”

(#7152) zulu_mester


zulu_mester
tag

Sziasztok!

Tudnátok ajánlani programozással kapcsolatos könyveket, amelyek viszonylag egyszerűen érthető és gyorsan lehet haladni vele? Elsősorban C# nyelvvel foglalkozó könyvek érdekelnének. Előre is köszönöm segítségeteket :)

[ Szerkesztve ]

"Te is fiam Bluethooth!"

(#7153) haromegesz14 válasza zulu_mester (#7152) üzenetére


haromegesz14
aktív tag

It's Magic

;]

[ Szerkesztve ]

10 féle ember létezik, aki ismeri a bináris számrendszert, és aki nem!

(#7154) vlevi válasza zulu_mester (#7152) üzenetére


vlevi
nagyúr

7063 hozzászólásban említett Reiter István könyvet tudom ajanlani. Netről letölthető.
Igaz, a C#6.0 ujdonságai nincsenek benne, de az alapok megtanulásához nagyonjó.

(#7155) zulu_mester


zulu_mester
tag

Köszönööm a válaszokat! :)

"Te is fiam Bluethooth!"

(#7156) #45946624


#45946624
törölt tag

Hali

Segitsegeteket kerem ismerosom neveben foleg, kapott egycfeladatot amit c nyelven kellene megoldania viszont en nem vagyok jartas e teren meg es tolem varja a megoldast remelem tudtok segiteni legalabb az indulasban :D koszi elore!

(#7157) tboy93 válasza #45946624 (#7156) üzenetére


tboy93
nagyúr

Ez egy tipik gyakorló feladat. Mit tanul belőle ha más oldja meg? :) Üljön le, nézzen utána, olvassa vissza a tananyagot és oldja meg. Ha valahol megakad benne segítünk, de annak semmi értelme ha itt megoldja neki valaki.

[ Szerkesztve ]

(#7158) Alexios válasza tboy93 (#7157) üzenetére


Alexios
veterán

(illetve ez a C# és nem a C topik, a kettő nagyon nem ugyanaz)
Bár a feladat leírásából C#-ot szeretnének :D

[ Szerkesztve ]

(#7159) mrhitoshi


mrhitoshi
veterán

Üdv! Belefutottam egy probléma, és ez akadályozza c# fejlődésemet, de úgy érzem ha ezt a problémát megoldom, akkor szintet lépek. :D
Szóval adott egy feladat: Textboxba ír a user egy mondatot, és meg kell mondani, hogy mondjuk mennyi e betű volt benne. Elkezdtem megírni, de itt jött a gond. A mondatot listben tudom tárolni, ilyenkor ugye nem kell megadnom, hogy mekkora lesz a mondat, ha jól gondolom. Viszont mikor számolni akarok, akkor nem tudom a pontos procedúrát. Tömbbel simán megtudnám csinálni, de egyrészt az nem elég mókás már másrészt pedig nem tudom előre hogy mennyi karaktert akar megadni a felhasználó.
Szóval hogyan lehet végigfutni a mondaton hogy megmondjam mennyi e betűt tartalmazott ? :B

PS4

(#7160) netpeti98 válasza mrhitoshi (#7159) üzenetére


netpeti98
addikt

Nem kell neki külön lista vagy tömb és a mérettel se kell törődni, mert a stringeket tudod char tömbként kezelni.

Pl.:
string s = "Hello";
Console.WriteLine(s[1]); //e

A hosszát egy normál tömbhöz hasonlóan a s.Lenght property adja meg. Pl.:
Console.WriteLine(s.Length); //5

Ugyanúgy bejaárhatod for vagy foreach segítségével, de még a LINQ is működik rajta. :)

[ Szerkesztve ]

(#7161) harylmu válasza mrhitoshi (#7159) üzenetére


harylmu
őstag

char[] karaktertomb = "ez egy mondat".ToCharArray();

ezen már csak végig kell iterálni.

szerk.: már válaszoltak.
szerk2: inkább kitöröltem a megoldást, hajrá ;)

[ Szerkesztve ]

(#7162) mrhitoshi


mrhitoshi
veterán

Aha. Volt egy ilyen gondolatom még C-s időkből, de nem voltam ebben biztos. Akkor marad ez a megoldás. :D Köszönöm a gyors segítséget!

PS4

(#7163) sztanozs válasza mrhitoshi (#7162) üzenetére


sztanozs
veterán

A fejlődésről jutott az eszembe - itt van néhány jó tesztfeladat: [link]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#7164) #40351744 válasza haromegesz14 (#7153) üzenetére


#40351744
törölt tag

Hát ez marha jó :D Láttam már ilyen fajta oldalakat, de ez a legjobb mind közül. :C

zulu_mester egyébként igen, én is a Reiter István féle 2 könyvet ajánlom, alap elsajátításhoz tökéletes. Ha kell valami segítség, itt várunk :)

(#7165) alratar


alratar
addikt

Sziasztok,

Valahol azt olvastam, hogy a var kulcsszó használatát lehetőleg kerülni kell. Mégis azt latom, hogy egy csomóan használják.
Most akkor, hogy van ez?

10 féle ember van: aki ismeri a bináris számrendszert, és aki nem

(#7166) Alexios válasza alratar (#7165) üzenetére


Alexios
veterán

nincs semmi ok a kerülésére, illetve sok helyzetben, pl. linq meg hasonló esetekben egyszerűbb is mint kitalálni mi lesz az eredmény.

Igazából semmi varázslat nincs benne, intellisense behelyettesíti helyetted kb, ha ráviszed a kurzorod a var szóra is kiírja milyen típus van mögötte.

[ Szerkesztve ]

(#7167) vlevi válasza alratar (#7165) üzenetére


vlevi
nagyúr

Linq-nál elkerülhetetlen a használata, mert nem tudod a visszaadott tipust.
De az észnélnküli, mindent var-al veszek fel, majd a fordito megoldja, sem jó, mert nem tudod mi micsoda.
Főleg, ha hosszu ideig használod azt a változót, amikor már a harmadik helyre adod át paraméterként, akkor elveszel az ismeretlen tipusokban. Lehet, hogy rossz overload metodust hiv majd meg, vagy te azt hiszed, hogy double, mikozben a fordito csak int tipusként hozta létre, satöbbi.
Egy foreach-en belül a var item in collection teljesen rendben van.

(#7168) amargo válasza alratar (#7165) üzenetére


amargo
addikt

CleanCoding szerint pl tanácsos kiírni, ha nem egyértelmű a visszatérési típusa egy fv. Vagy, ha információval szolgál. Pl new esetén egyértelmű.

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#7169) mobal válasza alratar (#7165) üzenetére


mobal
MODERÁTOR

A var egy olyan speciális "típus" amit a fordító behelyettesít a megfelelőre. Ezzel el lehet kerülni két oldalas castolást. Egyszer kaphat "normális típust", ebben különbözik az object-től.

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#7170) harylmu válasza mobal (#7169) üzenetére


harylmu
őstag

Milyen hibát okozhat?

(#7171) mobal válasza harylmu (#7170) üzenetére


mobal
MODERÁTOR

Pl. int helyett string lesz.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#7172) Alexios válasza mobal (#7171) üzenetére


Alexios
veterán

Mikor? Nem jut eszembe olyan eset ahol var miatt ilyen lehetne. A var eleve nem is vesz el a tipusossagabol a nyelvnek semmit, csak az előbbi ervhez hozzateve,szoval ettől még akár használni is lehetne.

[ Szerkesztve ]

(#7173) amargo válasza mobal (#7171) üzenetére


amargo
addikt

Ez új, egy példát tudnál adni?

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#7175) vlevi válasza amargo (#7173) üzenetére


vlevi
nagyúr

string az tényleg elég dúúúrva lehet, de ha beírod, hogy
var szam=0; (int32 lesz)
var szam=0.0; (ez double)
De ha simán el tudom képzelni, hogy van két overloaded metódus, az egyik int-t ad vissza, a másik stringet, és ha nem figyelsz a paraméterezésnél, akkor a var walami=metodus(); a rosszabbikat fogja neked választani.
De elég az is, ha double helyett int adattípust definiál a var k=0; és nem érted, miért számol baromságot.

(#7176) Alexios válasza vlevi (#7175) üzenetére


Alexios
veterán

Nyílván a var k=0 esetben doublet szeretnél akkor nem ezt használod, vagy eletszerubb esetben mondjuk mint ososztaly/interfész szeretnél rá hivatkozni de ezek azért nem a kifejezett hiba esetek, bár az overloaded esetben nem értelek hiszen vissza teresi értékkel nem lehet overloadolni, ha meg rossz paramétert adsz meg akkor nem a neked rosszabbat fogja adni, hanem azt amit meghivtal.

Én pl mindig vart használok, azokkal a kivetelekkel amikor vagy nem lenne egyértelmű ezek alapján mi az, vagy tényleg csak valamelyik interfész részét akarom mondjuk láttatni.

[ Szerkesztve ]

(#7177) mobal válasza Alexios (#7172) üzenetére


mobal
MODERÁTOR

Az is lehet, hogy rosszul emlékszem. Sokat nem C#-oztam, a linq-t meg még annyit sem használtam. Szerintem nektek lesz igazatok! :)

Szerk.: igen, inkább visszatöröltem a dolgokat, hogy hülyeség ne maradjon meg. Elkövettem azt a hibát, hogy nem voltam alapos és nem nézem utána. Elnézést.

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#7178) harylmu válasza vlevi (#7175) üzenetére


harylmu
őstag

De ha simán el tudom képzelni, hogy van két overloaded metódus, az egyik int-t ad vissza, a másik stringet, és ha nem figyelsz a paraméterezésnél, akkor a var walami=metodus(); a rosszabbikat fogja neked választani.

Azért az kemény lenne.

Type 'Program' already defines a member called 'Get' with the same parameter types

ja, sorry, te "hasonló" paraméterekről beszéltél és figyelmetlenségről. ebben az esetben nem fogadom el az érved. :)

[ Szerkesztve ]

(#7179) emvy válasza vlevi (#7175) üzenetére


emvy
nagyúr

Masreszt visszateresi erteken nem lehet overloadolni C#-ban. Nem tudom, hogy az jo lenne-e egyebkent.

(Multiple dispatch jo lenne, de az keves nyelv tudja.)

while (!sleep) sheep++;

(#7180) harylmu válasza emvy (#7179) üzenetére


harylmu
őstag

Nem ide tartozik, de érdekességképp.Tervbe van egy ilyen feature:

(string, string, string) LookupName(long id) // tuple return type
{
... // retrieve first, middle and last from data storage
return (first, middle, last); // tuple literal
}

(#7181) emvy válasza harylmu (#7180) üzenetére


emvy
nagyúr

Ja, ez hasznos.

while (!sleep) sheep++;

(#7182) harylmu válasza emvy (#7181) üzenetére


harylmu
őstag

Ez és a tuple milyen helyzetekben hasznos? Separation of concerns-t meg az olvashatóságot nem hágja át csúnyán?
Mármint ha pl nevet és hozzátartozó id-t szeretnék visszaadni, szerintem azt se Tuple-el csinálnám. Inkább csinálnék egy person osztályt, és akkor a tagjai nem anonymousok (Item1,Item2,Item3)

(#7183) fatal` válasza mobal (#7171) üzenetére


fatal`
titán

Szerintem kevered a vart a dynamic-kal. Maximum olyan eset tud előfordulni, hogy object lesz a konkrét típus helyett (pl. a Regex osztályon van ilyen a Matches property esetében).

(#7182) harylmu: Az említett szintaxis sokkal olvashatóbb, mint az hogy .Item1, .Item2 stb.

Olyan helyzetben tud hasznos lenni, amikor 1-2 helyen kéne pár elemű összetett típus (de nem kulcs-érték pár) és nem akarsz külön osztályt definiálni. Nem túl gyakori de azért néha előfordul.

[ Szerkesztve ]

(#7184) amargo válasza harylmu (#7182) üzenetére


amargo
addikt

Nehéz olyan helyzetet talalni, amikor a Tuple hasznos.. lustaság vagy amikor tényleg nem fontos, hogy legyen rá valami kezzel fogható dolgod. Sokan ilyenkor a key value-hoz menekülnek és abba gyomoszolik bele a problémát.

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#7185) mobal válasza fatal` (#7183) üzenetére


mobal
MODERÁTOR

Mint írtam igen, összekevertem! :)

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#7186) xors


xors
senior tag

Lenne egy igazából sima algoritmizálós problémám, de mésis C# -ban dolgozok, így ide tartozik.
A feladat az lenne, hogy van egy tömbünk amikbe vannak fej (F) meg írás (I) pénzfeldobás eredményei, persze jó sok.
Meg kéne keresnem a leghosszabb F sorozatot a tömbben, hogy hol kezdődik, és milyen hosszú.Ehhez kérném a segítségeteket, mert hiába agyalok rajta, nem tudok rájönni hogyan kellene. :F

(#7187) harylmu válasza xors (#7186) üzenetére


harylmu
őstag

google: c# longest streak - pl
A 2-es válaszban a linq extension pl klassz.

(#7188) xors válasza harylmu (#7187) üzenetére


xors
senior tag

köszi a linket!
Végül nem így csináltam ugyan, mert voltak benne számomra még ismeretlen dolgok, de merítettem belőle ötletet.

(#7189) harylmu válasza xors (#7188) üzenetére


harylmu
őstag

helyes, az algoritmus a lényeg. ;)

(#7190) Ukeve


Ukeve
tag

Sziasztok! :)

Kb. 3 hete kezdtem el C# programozással foglalkozni, és az egyik gyakorló feladatban elakadtam.
A feladat: "Addig kérjünk be számokat billentyűzetről, amíg azok összege el nem éri a 100-at. A végén írjuk ki a képernyőre a számok összegét.
Lehetséges módosítások:
- a bekérést hagyjuk abba, ha elérjük a 100 összeget, de legfeljebb 10 db számot
- csak a pozitív számokat vegyük figyelembe az összegképzés során
- írjuk ki a legkisebb és legnagyobb értéket amelyet beírtak
- határozzuk meg, volt-e a beírt értékek között páros szám (igen/nem)"

A min. és max. kiíratásra megtaláltam a megfelelő tételt, viszont arra sehogy se jövök rá, hogy miként lehetne az összes bekért érték az a tömb, amiben keresni fog.

Előre is köszi a segítséget! :R

(#7191) Alexios válasza Ukeve (#7190) üzenetére


Alexios
veterán

A tömböt még a beolvasás előtt hozd létre, mivel max 10db-ot olvashatsz be ezért egy 10 elemű tömb tök jó neked(vagy használhatnál listát is, de gondolom itt tömböt kell)
ez esetben: int[] tomb = new int[10];
Ezzel létrehoztál egy új, 10 elemből álló tömböt, a mostani kódodnál egy egy elemű tömböt hozol létre, amiben az egyetlen elem a szam változó tartalma.
Minden sikeres beolvasásnál el tudod menteni ebbe a tömbbe az elemeket, és onnantól tudsz keresni rajta, meg amit akarsz.

(#7192) Ukeve válasza Alexios (#7191) üzenetére


Ukeve
tag

Mi lehet a gond? Ha lefuttatom a programot, akkor a legkisebb és legnagyobb elemre is 0-t ír ki.

(#7193) Alexios válasza Ukeve (#7192) üzenetére


Alexios
veterán

Letrehozod ugyan a tömböt, de a beolvasas után sehol nem rakod bele a beolvasott számot :)

(#7194) tboy93 válasza Ukeve (#7192) üzenetére


tboy93
nagyúr

Vaksi vagyok vagy tenyleg nem rakod bele a szamokat a tombodbe a while ciklusban?

[ Szerkesztve ]

(#7195) lord.lakli válasza Ukeve (#7192) üzenetére


lord.lakli
őstag

1) Hibakezelés hiányzik (pl.: int konverzió)
2) Tömbbe nem pakolod be az értéket.
3) Páros/páratlan vizsgálatnál az utolsó számot vizsgálod csak meg és nem az összeset.
4) tomb[k] kap értéket és nem a min. Képen nem látszik, de gondolom ugyanez van a max-al is.
Érdemes lenne Linq-et is megnézni, ha az engedélyezett.

[ Szerkesztve ]

(#7196) netpeti98 válasza lord.lakli (#7195) üzenetére


netpeti98
addikt

Azt írta, hogy 3 hete kezdte. Szerintem nem érdemes rögtön az alap algoritmusokat átugrani LINQ-val. :)

(#7197) lord.lakli válasza netpeti98 (#7196) üzenetére


lord.lakli
őstag

Teljesen jogos.

(#7198) Ukeve válasza lord.lakli (#7197) üzenetére


Ukeve
tag

Köszi mindenkinek a segítséget! :R
Már csak egyetlen gond van vele, hogy ha 10-nél kevesebb értéket írok be, akkor nem működik megfelelően a program, ha pontosan 10-t, akkor igen.
A feladat leírása:
Addig kérjünk be számokat billentyűzetről, amíg azok összege el nem éri a 100-at. A végén írjuk ki a képernyőre a számok összegét.
Lehetséges módosítások:
a bekérést hagyjuk abba, ha elérjük a 100 összeget, de legfeljebb 10 db számot
csak a pozitív számokat vegyük figyelembe az összegképzés során
írjuk ki a legkisebb és legnagyobb értéket amelyet beírtak
határozzuk meg, volt-e a beírt értékek között páros szám (igen/nem)

(#7199) harylmu válasza Ukeve (#7198) üzenetére


harylmu
őstag

Szia.

Berakod pastebin-re és feltöltöd megint azt a részt? A max-min algoritmusnak 1nél nagyobb tömbben mennie kell. Lord.rakli 4)-es pontját is fixáltad?

+ csak egy tipp: nem csak a min-t, hanem a max-ot is megkaphatod ugyanazon a cikluson belül, ha a kacsacsőrt a másik irányba fordítod. ;) És akkor nem kell 2x végigmenni a tömbön.

edit: látok arra esélyt, hogy a probléma az lesz hogy azelőtt elérted a 100as szummát mielőtt feltöltötted a tömb mind a 10 tagját. Majd mikor végigiterálsz rajta a keresőn dob egy null exceptiont, a fel nem töltött elemre.
Pl. tomb[9]-re dob egy null reference-t, mert nem töltötted fel az első ciklusban, mert csak tomb[5]-ig jutottál el, de a tomb[6],tomb[7],tomb[8],tomb[9],tomb[10] mind null (ami nem nulla!).

[ Szerkesztve ]

(#7200) Alexios válasza harylmu (#7199) üzenetére


Alexios
veterán

Mivel az int érték típus, ezért nem dob rá nullreferenceexceptiont, csak simán 0-t fog visszaadni, mert az a default értéke - gondolom ez lehet a gond a minimum keresesnel

Copyright © 2000-2024 PROHARDVER Informatikai Kft.