Hirdetés
- Ha nem növelnéd feleslegesen a villanyszámlád, a Chieftecnek van pár új ajánlata
- ARC vs eARC — Ilyet is tud a HDMI-d? 🤨
- A következő évtizedbe repíti a NAND hatékonyságát a Samsung új kutatása
- ASUS blog: kisebb, de nem gyengébb – a mini PC-k forradalma
- 5 kilowattos GPU-k előtt nyitná meg az utat az Intel
- Milyen alaplapot vegyek?
- Azonnali informatikai kérdések órája
- Samsung LCD és LED TV-k
- KártyaPC topik (Odroid, Olinuxino)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen billentyűzetet vegyek?
- AMD Navi Radeon™ RX 9xxx sorozat
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Vezetékes FEJhallgatók
- Stratégiai biztonsággal védekeznek a dráguló memóriák ellen a gyártók
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
Jester01
#2726
üzenetére
Ezt a new sorrendet nem lehet megvalósítani.

Csak egy gyenge példa rá:
IEnumerable<int> t = new[] { 12, 34};
Interface-t példányosítanék?
IDictionary-t se írnám ki, hótzicher, mert minek. System.Collections.Generic.Dictionary implementálja az IDictionary-t, és még sok minden mást! Ha kiírom az IDictionary-t, akkor a többit (implementált interface-ek) ezzel el is veszítem.

Tahát, egy változtatás miatt lesz mondjuk int-ből double, de van rá overload-olt metódusom (ugyanaz a metódusnév), ami annyit tesz, hogy problem solved.

-
Peter Kiss
őstag
válasz
Jester01
#2724
üzenetére
Pont, hogy nem kavarhat be. Amikor teljesen egyértelmű az, hogy mi lesz a típus (pl. new Akarmi()), akkor miért írnám ki kétszer? Teljesen hülyeség.
Dictionary<NagyonHosszuNevuOsztalyDeKiirom, MegHosszabbNevuDeEztIsKiiromAkkorIs> d = new Dictionary<NagyonHosszuNevuOsztalyDeKiirom, MegHosszabbNevuDeEztIsKiiromAkkorIs>();

-
Dr. Student
senior tag
válasz
Jester01
#2692
üzenetére
Igen valszeg itt a baj, tehát van az az alapképlet, hogy
F(n-1)+F(n-2)Tehát magát a képletet nem értem, mert mondjuk ha 5-1+5-2 az mondjuk 7 és ilyen szám nincs a fib sorozatban... vagy lehet én vok ehhez teljesen hülye...tehát magát az egész fib. nem értem...
Mod: Jól megfogalmaztam

-
Jhonny06
veterán
válasz
Jester01
#2605
üzenetére
A konstruktorba írva az egészet jó lenne, vagy muszáj az osztály adattagjaként megmaradnia? Igazából ezt így korábban is sikerült létrehozni, de a logikáját nem értem, hogy ezek után egy Adatbazis példánnyal mit lehet kezdeni, hogy lehet elérni a másik osztály objektumait?
class Adatbazis
{
public Adatbazis()
{
Random rand_adatbazis = new Random();
int tomb_hossz = rand_adatbazis.Next(20, 30);
Hallgato[] tomb = new Hallgato[tomb_hossz];
for (int i = 0; i < tomb_hossz; i++)
tomb[i] = new Hallgato();
}
} -
Atos23
senior tag
válasz
Jester01
#2571
üzenetére

Ugy tunik sikerult megoldani for-ral most az ajanlasod alapjan.
Sokszor ez a baj nalam, hogy tulbonyolitom a dolgokat, mikor ki kell talalni a szoveges leirasbol a forraskodba atirast. 
Holnap atirom Whileba
Bar meg van 48 ilyen feladatom, de igyekszem kicsit egyszerubben gondolkodni 
Console.WriteLine("Hany szamot akarsz beadni?");
int a = int.Parse(Console.ReadLine());
int i=0;Console.WriteLine("Kerem az elso szamot");
int b = int.Parse(Console.ReadLine());Console.WriteLine("Kerem a masodik szamot");
int c = int.Parse(Console.ReadLine());int sum = c - b;
for (i = 0; i < a-2; i++)
{
Console.WriteLine("Kerek egy tovabbi szamot");
int d = int.Parse(Console.ReadLine());
if (d == sum * (i + 3)) Console.WriteLine("Ezek a szamok eddig szamtani sort alkotnak");
else
{
Console.WriteLine("Ezek a szamok nem alkotnak szamtani sort");
break;
}}
Console.ReadLine();
-
válasz
Jester01
#2515
üzenetére
Azt lehet látni, hogy érti-e vagy sem a rekurziót, de azért nem hiszem, hogy kezdő programozónak azt kellene először megtanítani, hogy nem használunk dolgokat - a sebességről nem is beszélve. Az osztályok és interfészek kizárása pedig egyenesen bűntény. arra kell először rászoktatni a népet, nehogy rosszul rögzüljön bennük. A suliban nekünk se mondtak semmit például a DRY-ról vagy a SOLID-ról és így utólag dühös is vagyok a tanárok inkompetenciája miatt.
(#2511) Lacces:
Jól látod. Egy metódusnál a hívásban szereplő típus a lényeg, ahogy a kolléga írja. Ezért is lehetséges a túlterhelés, amikor egy metódusnak több formája létezik ugyanazon néven, csak más típusokkal. Híváskor az fogja eldönteni, hogy melyik fut le, hogy milyen paraméterekkel hívod meg. Mondjuk ez így önmagában nem az öröklés témaköre. -
Lacces
őstag
válasz
Jester01
#2470
üzenetére
a return az tényleg igaz, ott az else ágat kivettem. Amúgy melyik a jobb megoldás?
Ha return false vagy return true-t használok, vagy egy bool értéket, és azt adom át a return-nek? pl: bool result = flase; return result;RemoveAll-nál igaz, az elején még nekem while ciklus volt, ott lehet a beadandó miatt átnéztem :-D, Így while szépen veszi ki
While esetében melyikre gondoltál? Amelyik kommentelve van, vagy amelyik használatban?
-
ArchElf
addikt
válasz
Jester01
#2431
üzenetére
NP
Egyébként a példákat inkább csak az azonos megvalósítás kedvéért hoztam.
A példáim inkább egyszerű szemléltető kódocskák voltak, mint valós problémára írt csontra optimalizált kódok. Abban mondjuk egzet;rtek, hogy a tanulók inkább tanuljanak egy kicsit (nem is kicsit) optimalizálni, és problémamentes kódot írni.De had engedtessék meg nekem, hogy magyarázkodjam kicsit:
Természetesen plusz egy változóval sokkal hatékonyabban (nagy tömbelemszám esetén) megoldható a probléma, de ebben az esetben... Lássuk be, hogy három értékadás kb ugyanannyi erőforrást igényel, mint két értékadás plusz egy modulus osztás (ráadásul memóriában kevesebb is).
List / Sum (Linq) egyértelműen pazarlás erre a célra, ezekben az esetekben csak azt szerettem volna bemutatni, hogy nem csak a tömb létezik a .NET struktúrában, és List-tel lehet hasonló dolgokat csinálni (ráadásul úgy, hogy munka oroszlánrészét megcsinálja helyettünk a környezet).
Mondjuk a MOD-ot nem igazán értem. Az összeget mindig újra kell számolni, hiszen, ha mást nem a régi tagot ki kell vonni, az újat pedig hozzá kell adni, három tömbelem esetén ez sem biztos, hogy előnyösebb.Emellett feltételeztem, hogy a kolléga nem nagyon konyít a kivételkezeléshez (bocsánat a feltételezésért), viszont olyan kódot nem szeretek írni, ahol a kivételek nincsenek minimálisan sem lekezelve. A kivételkezelést pedig nem itt gondoltam bemutatni...
Feltételeztem azt is, hogy esetleg már valami offiszos tapasztalata (excel), ahol az =Int("szöveg") nullát ad vissza, ezért az általam írt kód is ezt a sémát követi. Természetesen megoldható volna az is, hogy a temp = 0; helyett egy Console.Error.WriteLine-al hibaüzenetet dobjon + continue segítségével újra bekérjen adatot a kód (mondjuk úgy rémlik, hogy a kivételkezelés módja nem volt lespecifikálva).
Végül (még egyszer?): nem egy általános megoldást akartam adni (ami kód mennyiségben valószínűleg több is, ráadásul egy kezdő számára sokkal nehezebben felfogható egészben, mint rész-példák összegeként).
Ja, és egyáltalán nem sértődtem, és köszönöm az építő kritikát.

AE
-
Gülredy
tag
válasz
Jester01
#2412
üzenetére
Volt egy feladat előtte de azzal sem mentem többre (más programozási feladat nem volt)
Itt a feltételezett előzmény:
A program inputja egyetlenegy kezdőállapot, outputja pedig a 10 lépés során az ágens által választott akciók, és mellé a világ aktuális állapotainak leírása. Pl.
Input: pozíció:A A: koszos B:tiszta
Output:
1 -- akció:szív pozíció:A A:tiszta B:tiszta
2 -- akció:jobbra pozíció
A:tiszta B:tiszta akció:
3 -- akció:balra pozíció:A A:tiszta B:tiszta
4 -- ...........Tehát az lenne a lényege, hogy egy porszívó robotot kell készíteni, amely először bekér egy kezdőállapotot , majd a 10. lépés után kiírja hogy milyen lépést választott(?), és ha jól veszem ki akkor mind a 10et kiírja.
Ennyi volt az előzménye.Elég kezdő vagyok c#-ban így valószínűleg csak ezért okoz gondot ez, bár a tanár magyarázása is elég össze vissza. Tudnál segíteni hogy induljak el?
-
Lacces
őstag
válasz
Jester01
#2385
üzenetére
Köszi, a ref is jól jön ilyenkor, meg a kollega megoldása is

"This allows you to declare an array and assign any array of int objects to it, regardless of the array's length." - ezt olvastam fent msdn library-ben. Itt az int objects akkor mi akar lenni?
Utána eszembe jutott, hogy az int[] az referencia típus, mert a system.object-ből öröklődik.
-
C^^
őstag
válasz
Jester01
#2140
üzenetére
Pedig így működik.
A specifikáció azt mondja, hogy "Enumerators are positioned before the first element until the first MoveNext() call."
Jelen esetben ez az akt=null a konstruktorban.
Ha ezek után nincs benne a MoveNext()-ben az if (akt==null) akt=elso;, akkor soha nem fog ráállni az első elemre. (Dob is egy NullReferenceExeptiont.)Így is működik:
public bool MoveNext()
{
akt = akt.KovetkezoElem;
return akt != null;
}
Viszont akkor a konstruktorban egyből az első elemre kell állítani az aktot, ami szintén ellentmond a specifikációnak.Van egy olyan érzésem, hogy még mindig nem értek valamit.

-
Lakers
tag
válasz
Jester01
#1920
üzenetére
Köszönöm Jester,
Akkor mely könyveket ajánlod?
Egy kellene C/C++ nyelvre (elsősorban villamosmérnököknek, műszaki feladatok megvalósítása)
És egy C# amiből esetleg .Net alapjai.Így utólag Bruce Eckel - Thinking in C++ könyv-e tetszik átnézésre, mert sok benne a példakód
Ez a kód is egy könyvben volt...(Címe: Többnyelvű programozástechnika)
-
skybot
csendes tag
-
yash
senior tag
válasz
Jester01
#871
üzenetére
1) igen ki kell (kulonben nagyon egyszeru lenne olyan kodot irni, ami az elso osztonal kilep egy break-kel a for-bol pl
2) az Int64 remiszto, de pont emiatt lehet vele jatszani, ha valaki gyorsabb algoritmust tud ket reszre bontott Int32-vel, ugy is neki lehet allni, tehat jo otlet
3) 2GB RAM all rendelkezesre, szukseg eseten virtualis memoria szinten ennyi es fix.
4) eleg egy szamot ellenoriznihajra!

-
andriscs
aktív tag
válasz
Jester01
#408
üzenetére
Hi!
De, mielőt beleraktuk a pixel ill. vertex shader-eket, azelőtt kirajzolta a Sky-t meg a hajót, de a shader-ekkel nem rajzol semmit. Próbáltam csak a Sky-t kirajzolni, semmi mást, de azt sem rajzolja ki. Szóval elvileg valami logikai hiba lehet benne, hogy nem látszik semmi. Esetleg a rajzolási sorrend rossz?
A szigetrenderelési kódot úgy másoltam ki az útmutatóból. 3 példány esetén sem látszik semmi. :S -
andriscs
aktív tag
válasz
Jester01
#406
üzenetére
Hi!
Nem tudom, így volt kiadva a labor útmutató. Beállítottam None-ra a Cull mode-ot, de semmi változás. Először azt hittem, nem futnak le a Render-ek, de mennek, csak mindha semmit nem rajzolnának. Erre épül a többi labor is, szóval amíg ez nem működik, semmit nem tudok kezdeni a többi feladattal. -
manrick
tag
válasz
Jester01
#347
üzenetére
Köszi a segítséget megnézem, remélem jutok vele valamire.
Nem igazán találtam kész megoldást. A helyzet az, hogy logolni kell mindent. Ki milyen levelet nyit meg, szabályozni kell hogy visszazárhassa. Egy postafiókból dolgozik az osztály. A teljesítmény mérése a cél.
De ha van ötlet, szívesen veszem. -
andriscs
aktív tag
válasz
Jester01
#345
üzenetére
Hi!
Mikor kivettem a readString-et, akkor is rosszult működött. Igazából köztes megoldásanak azt csináltam, hogy beleraktam egy reader.readString-et, így eggyel több az olvasás. Emiatt most megy. Próbálkoztam azzal, hogy a while-ban a feltételt nem a Read-hez kötöm, hanem egyéb megoldásokhoz. Például:
while(reader.ReadState==ReadState.EndOfFile)
...
vagy
while(reader.EOF)
...
De ezeket használva nem olvasott be semmit.
Majd még átnézem, hogy mi a baj. -
whitewolf5
csendes tag
válasz
Jester01
#339
üzenetére
OK megoldottam így:
select BeszSorszám, Leírás,Tipus,Raktár,Évjárat=case when Raktár like 1 or Raktár like 2 or Raktár like 9 or Raktár like 13 or Raktár like 15 or Raktár like 17 then 'Új' else évjárat end,Szín,Térfogat,PicturePath,Extrák,Új,Kép1kicsi where ....
De ez akkor is hihetetlen számomra hogy DetailsView-val el lehet érni az oszlopok értékeit elég egyszerűen, GridView-nál meg senki sem tud róla..? -
kave
csendes tag
válasz
Jester01
#330
üzenetére
Hali,
Kicsit részletesebben a server kódja:
TcpListener server = null;
try
{
int port = 15000;
server = new TcpListener(IPAdress.Parse(''80.99.204.28'', port);
server.Start();
Console.Write(''Server started... '');
Byte[] bytes = new Byte[256];
String data = null;
while (true)
{
TcpClient client = server.AcceptTcpClient();
data = null; //Eddig már nem jut el
NetworkStream stream = client.GetStream();
stream.Read(bytes, 0, bytes.Length);
...
Az ip-címem jó, és figyel is a porton, de nekem mégis úgy tűnik, hogy a cliens nem találja meg a servert.
A kliens kódja:
Int32 port = 15000;
TcpClient client = new TcpClient(''80.99.204.28'', port);
Byte[] data = System.Text.Encoding.ASCII.GetBytes(''3 '' + textBox1.Text +'' ''+ textBox2.Text );
NetworkStream stream = client.GetStream();
// Send the message to the connected TcpServer.
stream.Write(data, 0, data.Length);
... -
-
amargo
addikt
válasz
Jester01
#270
üzenetére
Maximum 9elemű a tömb, ami kell nekem, ennél a rendezés sem számít.. megnézetem, hogy úgy mit javúl, de semmi.
Ma átírtam a c++ os progit is ott vectoral oldottam meg. Iszonyat gyors lett! Nincsenek így már típus konvercióim valami 0,1mp alatt generál.
Viszont amit nem értek van egy olyan verzóm is, amiben 2szálon fut a program a generálás külön szál. De randomként mindig tök ugyan azt a számokat adja ki!
És lassabb is.. Nem értem.
Vagy csak a számláló, amit az egyszálúba raktam, nem tudja olyan gyorsan kiírni az időt?
Most viszont innen hiányolom a hashtable-t (hasonlót) mert pont jó lenne Builder alatt. Valami elneteműlt varriációt találtam, hogy matrixot csináljak vectorból.. de.
Tényleg sok információt elfelejtettem írni. Elnézést.
De ez az arraylist tünik a legjobbnak eddig. -
-
válasz
Jester01
#211
üzenetére
Sztem kicsit félreértettük 1mást.
Annyit szeretnék,hogy várjon 1 picit majd rajzolja ki az éppen aktuális gráfot,majd megint várjon(hogy lássam 3mpig mi volt a lépés)majd megint rajzolja ki a már megváltozott gráfot.Csak annyi ideig szeretném késleltetni,hogy lássam a rajzon,hogy megcsinált egy lépést,mehetünk tovább.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Mini PC - HP ProDesk 405 G4 DM / Ryzen 5 PRO 2400GE / DDR4 / NVMe / HDMI / több db / számla
- ÚJ, bontatlan iPhone 17 256GB levendula KÁRTYAFÜGGETLEN! 1 év Apple garancia!
- RYZEN 7 7800X3D 32 GB DDR5 RTX 3080 Ti 12GB 1TB M.2
- Lenovo ThinkPad P15 Gen 1 Tervező Vágó Laptop -50% 15,6" i7-10750H 32/512 QUADRO T1000 4GB
- Dell LAtitude 7490 FHD, TOUCH, i7-8565U CPU, 16GB DDR4, 512GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV GARANCIA!
- 200db SZETT! REFURBISHED - DELL Docking Station WD19S + 130W töltő
- GYÖNYÖRŰ iPhone 13 mini 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3841, 100% Akkumulátor
- HIBÁTLAN iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3093, 100% Akkumulátor
- Lenovo ThinkPad T14S Gen1 Ryzen5 4650U/8GB RAM Refurbished - Garancia - Akció!
- RAKTÁRKISÖPRÉS! Eladó szerverek!
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest



Senki nem mondta, hogy feleslegesek. 



A:tiszta B:tiszta akció:







