Új hozzászólás Aktív témák
-
martonx
veterán
válasz
RedSign
#3736
üzenetére
sztanozs kollega nagyon ráér
![;]](//cdn.rios.hu/dl/s/v1.gif)
A te problémád nem az, hogy mi lenne az alkalmasabb a feladat megoldására, hanem egyszerűen nem tudsz programozni, és erre megtanítani egy fórum nem fog tudni. Ezt beismerni nem szégyen, javaslom olvass sok szakirodalmat, és gyakorolj serényen.
Szerintem minden általános célú programnyelv alkalmas a rekurzióra, már ha valóban érted és tudod, hogy mi is az a rekurzió.
Van egy Programozás nevű topik, ott szoktak ilyen általános problémákat megkérdezni.
Nagyon remélem, hogy nem sértődsz meg a soraimon, abszolút nem sértésnek, hanem gondolat ébresztésnek szántam. -
válasz
RedSign
#3736
üzenetére
Simán működik ez felülről futó ciklussal:
vízszint - egy állandó - ez nem is kell sornak legyen, ez elég, ha egy állandóban tárolod, a vízszint magassága úgysem lehet változó celláról cellára
0-9 sorok domborzatstruct Talaj{
public int Magassag;
public bool Elarasztva;
}
int sorok = 10;
int oszlopok = 10;
Talaj[][] terkep = new Talaj[sorok][oszlopok];
int vizszint = rnd.NextDouble()*10;
//...
for (sor = 0; sor<10; sor++) {
for (oszlop = 0; oszlop<10; oszlop ++) {
if(sor = 0){
if (terkep[sor][oszlop].Magassag<= vizszint) {
terkep[sor][oszlop].Elarasztva = true;
continue;
}
}
else if(oszlop > 0 &&
terkep[sor][oszlop].Magassag<= terkep[sor-1][oszlop-1].Magassag &&
terkep[sor-1][oszlop-1].Elarasztva) {
terkep[sor][oszlop].Elarasztva = true;
continue;
}
else if(terkep[sor][oszlop].Magassag<= terkep[sor-1][oszlop].Magassag &&
terkep[sor-1][oszlop].Elarasztva) {
terkep[sor][oszlop].Elarasztva = true;
continue;
}
else if(oszlop+1 < oszlopok &&
terkep[sor][oszlop].Magassag<= terkep[sor-1][oszlop-1].Magassag &&
terkep[sor-1][oszlop+1].Elarasztva) {
terkep[sor][oszlop].Elarasztva = true;
continue;
}
}
}kb, fejből.
-
martonx
veterán
válasz
RedSign
#3734
üzenetére
Egyrészt ennek mi köze a C#-hoz.
Másrészt ez ha jól értem, egy - ráadásul elég egyszerű - algoritmikus probléma.
Szerintem egy sima ciklussal körbejárod a 2D tömbödet (listádat, kollekciódat, bármidet), és ha az adott mező szomszédos egy vizes mezővel és az értéke kisebb vagy egyenlő, mint a víz kiinduló magassága, akkor vizes lesz. -
Vasinger!
nagyúr
válasz
RedSign
#1836
üzenetére
Nos nekem kicsit másképpen csinálni. 5 tömböt kell létrehozni, feltölteni ciklussal, de nem az index megnövelésével, szóval, ha kihúzom az 4,2,33,44,65-ot akkor nem az egyel megnövelt érték kell lenni a köv. tömbbe, hanem szintén egy random számnak.
Szóval létrehozzuk az 5 tömböt aztán megnézzük, hogy mely számokból mennyi van.
Neten ezt találtam prog. tételről, de nem sokkal lettem okosabb. :\ katt
-
RedSign
tag
válasz
RedSign
#1788
üzenetére
Közben kicsit áthidalásos módon, de sikerült megoldanom...

Csináltam egy pictureBox2-öt a formra, majd egy timerrel folyamatosan meghívom a pushImage függvényét a webcam-omnak, ami a SaveImage alapján így néz ki:
public void pushImage(object sender)
{
Image flsh;
IDataObject data;
PictureBox kep = sender as PictureBox;
SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0);
data = Clipboard.GetDataObject();
if (data.GetDataPresent(typeof(System.Drawing.Bitmap)))
{
flsh = (Image)data.GetData(typeof(System.Drawing.Bitmap));
kep.Image = flsh;
}
} -
kingabo
őstag
-
kingabo
őstag
válasz
RedSign
#1785
üzenetére
Paint az esemény és onPaint a hozzá kapcsolódó automatikusan elnevezett esemény kezelő. Ha lenne webcam-em megpróbálnám hátha rájövök hol veszik el a kép, de így nem fog menni
(#1784) tototos: hirtelen ezt találtam: [link] Úgy látom csak ShowDialog-ra műxik sima Show-ra nem. Alul a hsz-ben van erre 1 megoldás!
-
kingabo
őstag
válasz
RedSign
#1779
üzenetére
Hali!
Ha jól emlékszem a draw eseményre kell felíratkozni, ekkor kapsz egy graphics példányt is. A probléma szerintem az lesz, hogy a Te rajzolásod hamarabb lefut, mint a fenti draw, ezért ha van a webcam-nek képe, akkor azt rárajzolja a rajzodra.
(#1778) tototos: öröklődés? Létrehozol egy saját form osztályt, ami a Form-ból származik és lesz még egy plusz adattagja, ami a szűlőjére mutat.
-
válasz
RedSign
#1697
üzenetére
pontosan, egy int nem kaphat üres string értéket, ezen azonnal elhasal a fordító. Egyébként az üres string elegánsabb módja a String.Empty;
De ha már nagyon C# 3.0 (vagy felette) az induló verzió, akkor lehet használni type inference-t is, vagyis egy olyan módszert, amivel nem kell a kód írásakor a típusokkal foglalkoznod. Ez bevett dolog az iskolapadon kívül (bár remélem, legalább ilyen alap dolgokat tanítanak) és már az alapozástól alkalmazható.
Például:
string s = String.Empty;
helyett használható simán
var s = String.Empty;
Persze ez egy nagyon egyszerű példa, de nagyon sok esetben igen hasznos dolog. A típusosság megmarad és majd a fordító kitalálja, hogy milyen típusnak is kell ott állnia.
Vannak azért megkötések is. Csak lokális változóknál használható és például lambda kifejezés esetén sem alkalmazható implicit módon.
Ú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!
- Vicces képek
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Filmvilág
- Ilyen olcsó sem volt még egy Apple notebook
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Samsung Galaxy S23 Ultra - non plus ultra
- Arc Raiders
- Pedzegeti az új Xbox irányát a Microsoft
- gban: Ingyen kellene, de tegnapra
- További aktív témák...
- Eladó Pritom L8 Kids tablet 2/64GB/ 12 hó jótállás
- BESZÁMÍTÁS! ASUS ROG B760 i9 14900K 32GB DDR5 1TB SSD Asus ROG RTX 3090 24GB Zalman Z1 1000W
- Dell Precision 7550 i7-10850H 32GB 512GB Nvidia RTX3000 6GB 1 év garancia
- BESZÁMÍTÁS! Intel Core i7 6700 4 mag 8 szál processzor garanciával hibátlan működéssel
- Honor Pad 8 / 6/128GB / Wi-fi / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

![;]](http://cdn.rios.hu/dl/s/v1.gif)




