- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- Apple iPhone 16 Pro - rutinvizsga
- Fotók, videók mobillal
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- iPhone topik
- One mobilszolgáltatások
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- 45 wattos vezeték nélküli töltés jön az új iPhone-ba
- Google Pixel topik
- Okosóra és okoskiegészítő topik
Új hozzászólás Aktív témák
-
oO7
őstag
válasz
h1ght3chzor #4417 üzenetére
Kezdésnek egy kis C# nyelvi alapozásként Reiter István C# jegyzetét ajánlanám, aztán pedig elég szerteágazó irányok vannak kliens és szerveroldali fejlesztésekben
-
oO7
őstag
Rx - Aszinkron programozás magas fokon - Ingyen szakkönyvet a népnek
-
oO7
őstag
válasz
leximester #4400 üzenetére
csinálj egy TextBlock típusú listát, és abba rakosgasd bele a felületen lévő TextBlockokat (a referenciájukat ugye), és akkor el fogod tudni érni ciklusból őket...
var textBlocks = new List<TextBlock> { tb1, tb2, tb3, tb4, ... };
és akkor ezen a textBlocks listán már végig tudsz menni for vagy foreach ciklussal...
ha esetleg azonos szinten helyezkednek el a vizuális fában, akkor a TextBlock-okat tartalmazó konténernek le lehetne kérdezni a Children tulajdonságát és rászírnű az OfType<TextBlock>() operátorral, hogy csak a TextBlock-okat adja vissza... ez is egy listát eredményez, amiben benne vannak, de ez elég csúf megoldás meg olyan textblock is belecsúszhat, amit nem is biztos, hogy manipulálni szeretnél... ha meg a panelen belül nem közvetlenül helyezkedik el a textblock hanem még egy másik panelben vagy ilyesmi, akkor már nem is működne ez ilyen egyszerűen...
szóval inkább az első megoldást javasolnám így hirtelen, bár egyetértek Karma-val, ez csak tüneti kezelés a problémára
-
oO7
őstag
-
oO7
őstag
válasz
Brianiac #4348 üzenetére
ez még lemaradt: a csoportosításos lekérdezés a tiéd helyett mondjuk így nézne ki:
// PÉLDA
var termekek = new List<string>();
var kategoriak = new List<int>();
var eredmeny = termekek
.Join(kategoriak, t => t.Length, k => k.ToString().Length, (t, k) => new { Termek = t, Kategoria = k })
.GroupBy(x => x.Kategoria);Itt a Join-nál a karakterszám szerint párosítom a stringeket és számokat, de nyilván ez nálad valamivel kifinomultabb kategória szerinti joinolást jelent, a végén pedig ott van a "ResultSelector" függvény, amiben a kis anonimusztípust összedobod...
a lényeg, hogy a végén lesz egy két szintű listád: az első szinten a kategóriák lesznek, a kategóriák alatt pedig ott lesznek a beléjük tartozó termékek
-
oO7
őstag
válasz
Brianiac #4348 üzenetére
most hirtelen azt mondanám, hogy eressz rá egy GroupBy -t az egészre és csoportosítsd kategóriák szerint, és a gombokkal pedig lépkedj a kategóriák között (növeld/csökkentsd az indexet)... de lehet, hogy ennél van frappánsabb válasz is, már nagyon rég volt, hogy Winforms-sal foglalkoztam...
a gombok amúgy a toolbar-on vannak ha ez esetleg segítség
-> ToolStrip
-> Button -> aztán adsz neki képet... szerintem beépítetten nincs olyan, valahonnan a nyilakat elő kell halászni -
oO7
őstag
válasz
hoffman_ #4342 üzenetére
az első feladatnál egy "manuális for ciklust" kell összeraknod a bekérésre, és addig kell bekérned számokat amíg nem jön össze 10 ami megfelel a kritériumoknak...
leellenőrzöd, hogy a megadott szöveg az szám e,
aztán string műveletekkel megnézed, hogy 4 karakterből áll e, azaz 4 jegyű szám e,
illetve, hogy a 2. (1-es index) és 4. (3-as index) karakter (számjegy) különbözik e...
ha szám is volt meg négyjegyű is meg különböznek is a helyiértékek, akkor hozzáadod a listához és növeled az indexet, hogy akkor most te az n+1-dik helyre keresel új számot... ezt egészen addig csinálod (while ciklus) amíg össze nem jön a 10 elem...// Elso feladat elso resze
int[] s1 = new int[10];
int s1Index = 0;
while (s1Index < 10)
{
string s = Console.ReadLine();
int number = 0;
bool isNumber = int.TryParse(s, out number);
if (isNumber && s.Length == 4 && s[1] != s[3])
{
s1[s1Index] = number;
s1Index++;
}
}A következő résznél a bináris formátumra alakításhoz a Convert.ToString() metódust érdemes használni... ez egy számból elkészíti a bináris megfelelőjét stringként... ezen pedig már tudod vizsgálni az utolsó és utolsó előtti biteket és a feltételnek megfelelően egy új tömbbe pakolni... itt nem tudhatod előre, hogy hány eleme lesz a tömbnek szóval inicializáld 10 hosszúnak, készülj fel a legrosszabbra, aztán majd az indexet úgyis megint manuálisan kell kezelni a feltételek miatt, és azzal fogod tudni nyomonkövetni, hogy hány elem van a listában.
a végén pedig az utolsó maximum 4 elemnek kiszámolni az átlagát úgy, hogy visszafele járjuk be a tömböt...
// Elso feladat masodik resz
int[] s2 = new int[10];
int s2Index = 0;
for (int i = 0; i < s1.Length; i++)
{
string binary = Convert.ToString(s1[i], 2);
if (binary[binary.Length - 1] == '0' &&
binary[binary.Length - 2] == '1')
{
s2[s2Index] = s1[i];
s2Index++;
}
}
int s2Length = Math.Min(s2Index, 4);
int startIndex = s2Index - 1;
int endIndex = s2Index - s2Length;
int osszeg = 0;
for (int i = startIndex; i >= endIndex; i--)
{
osszeg += s2[i];
}
double atlag = osszeg / (double)s2Length;Bár lehetne ezt sokkal szebben is a rendelkezésre álló technológiákkal, de a feladat jellegéből arra tippelnék, hogy azokat a függvényeket nem használhatjátok
második feladathoz még gyűjtenem kell egy kis türelmet, kínzás ilyen kódot írni
-
oO7
őstag
Ahhoz, hogy "szép kódolást" lehessen tanítani, előbb meg kell tanulni kódolni és eljutni addig, hogy képes legyen az ember komplexebb "csúnya" kódot írni. Teljesen felesleges addig design patternekről beszélni meg objektum orientáltságról, amíg a program üzleti logikája átláthatóan elfér egy winforms alkalmazás code-behind-jában...
Egyet értek veled, hogy szülség lenne ezeknek is a tanítására - sokkal nagyobb szükség, mint azt sokan gondolják - de az ilyen bugyuta "írjunk saját rendezőalgoritmust" jellegű feladatok sem hasztalanok.
Én tanítottam már elég sok helyen Windows 8 meg Windows Phone fejéesztést és hát láttam durva dolgokat, és hidd el, nem az MVVM pattern nem ismerése volt a legnagyobb probléma
-
oO7
őstag
Szerintem nem hülyeség az, ha algoritmikus gondolkodásra tanítják őket. Igen, ott van a LINQ, de azért nem árt ha tudja, hogy mi törtémik mögötte, vagy ha valami speciális esettel találkozik amire nem lehet ráhúzni a beépített eszközöket, akkor nem fog széttett karokkal ülni, hogy hát ő nem tud minimumkiválasztást írni vagy rendezni vagy csoportosítani vagy ilyesmi...
Nyílván án is levágnám a kezét annak aki éles kódban leimplementál egy rendezést, de azért tudjuk már, hogy mi történik a színfalak mögött...
-
oO7
őstag
válasz
trisztan94 #4305 üzenetére
te egy darab könyv címében lévő betűket szeretnéd sorbarendezni?
azt javasolnám, hogy vagy nézz utána pl egy buborék rendezésnek vagy pl csinálhatod azt, hogy csinálsz egy üres eredménylistát, belerakod az eredeti lista első elemét, és aztán minden további elem hozzáadásánál megkeresed, hogy hova kellene azt beszúrni az eredménylistába...
tehát valami ilyesmi:var eredmenyLista = new List<Konyv>();
eredmenyLista.Add(raktar[0]);
for (int i=1; i<raktar.Count; i++)
{
// és akkor itt minden egyes elemnél levizsgálod, hogy hova kellene kerülnie az eredménylistában, pl így
var index = 0;
while (index < eredmenyLista.Count && raktar[i].cim.CompareTo(eredmenyLista[index].cim) > 0) index++;
eredmenyLista.Insert(index, raktar[i]);
}Amit még érdemes beletenni az az, hogy leellenőrizd, hogy van e legalább két elem a raktárban, mert különben az indexelés miatt szórja majd a kivételeket
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- TCL LCD és LED TV-k
- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- Azonnali fáradt gőzös kérdések órája
- Autós topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Horizon Forbidden West
- Futás, futópályák
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Apple iPhone 16 Pro - rutinvizsga
- Ford topik
- További aktív témák...
- PlayStation 5 (PS5) Digital Edition 825 GB játékkonzol, DualSense töltőállomással, ajándék táska
- Apple iPhone 15 (újszerű, független , 128 GB, 6 GB RAM, Kék)
- Samsung 55" QE55QN700CTXXH 8K UHD Smart Neo QLED Mini LED TV
- Asus VivoBook S15 S513 OLED (S513EA-L12917) Fekete - Garancia 2026.06.22.
- DDR5 GAMER PC: Új RYZEN 7 8700F/9700X/9800X3D +RTX 4060/5060/4070/5070 +16-64GB DDR5! GAR/SZÁMLA!
- Olcsó Laptop! Dell Latitude 7280. I5 7300U / 8GB DDR4 / 256GB SSD
- Bomba ár! Fujitsu LifeBook U758 - i5-8GEN I 8GB I 256GB SSD I HDMI I 15,6" FHD I W11 I Garancia!
- Xiaomi Redmi A3 128GB, Kártyafüggetlen, 1 Év Garanciával
- Csere-Beszámítás! RTX Számítógép PC Játékra! R5 8400F / RTX 3070Ti / 32GB DDR5 / 1TB SSD
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest