Új hozzászólás Aktív témák
-
lord.lakli
őstag
válasz haromegesz14 #6314 üzenetére
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
....
Console.ResetColor(); -
lord.lakli
őstag
válasz haromegesz14 #6328 üzenetére
Egy fapados megoldás kockás papíron tesztelve:
private static const int MAX_SZAM = 30;
public int Generator()
{
while (randomList.Count < MAX_SZAM + 1)
{
var myNumber = R.Next(0, MAX_SZAM);
if (!randomList.Contains(myNumber))
{
randomList.Add(myNumber);
return myNumber;
}
};
throw new CustomException("Elfogytak a számok!");
}[ Szerkesztve ]
-
lord.lakli
őstag
válasz rbertkrl #6340 üzenetére
Legyen List<int> és nem kell a hosszával foglalkozni, mert így előre lefoglalsz 20 hosszú tömböt, pedig lehet, hogy egy negatív szám sem lesz. Legyen foreach akkor már. Ha maradsz tömbnél, akkor külön változóban tárolni kellene az aktuális negatív elemek számát pl.: var negosszesen = 0, ekkor negativ[negosszesen++] = szamok. Na meg ha negosszesen < 20 és kiolvasol olyan elemet, ahol nincs érték, akkor elszáll, így azt is le kell kezelned. Na szóval legyen inkább List<int>
-
lord.lakli
őstag
válasz rbertkrl #6443 üzenetére
Hidd el nem volt lenéző stílus, sem kioktatás, csak sajnos manapság egyre gyakoribb tapasztalat, hogy inkább kérdeznek, mint gondolkodnak, keresnek megoldást az emberek. Szerintem pont ez az a szakma, ahol lehet és kell is keresni megoldásokat, főleg alap dolgokra.
string[] tomb = new string[5];
első eleme: tomb[0], ez stringet ad vissza
string egy karaktere: string[ i ], így a kettőt összerakva: tomb[0][0]: tömb első elemének első karakterét adja vissza (típusa char)Tippek kereséshez: c# vector, c# string first char
[ Szerkesztve ]
-
lord.lakli
őstag
Biztos az oktató valódi tudása ANSI C-ben van
(#6448) MineFox54: hát a gyerek még nem tud róla, hogy szeretné Köszi, akkor megnézem és szerintem beszerzem majd neki. Egyelőre az alapokat kell elsajátítania. Alap dolgokkal is foglalkozik a könyv? Maximum előveszem a régi egyetemi jegyzeteimet
-
-
lord.lakli
őstag
válasz leximester #6614 üzenetére
Gondolom a te géped Win10, ugye?
-
lord.lakli
őstag
Én inkább List<int>-be pakolnám. List-nek van Contains fv, ami megmondja szerepel-e benne. Ha nem, akkor hozzáadod. Ezt az egészet egy while ciklusba, ami akkor álljon meg, ha Count 5-öt ad vissza.
Így nem kell for, do-while, csak egy while.A te megoldásodban az a baj, hogy "ronda" és csak egyszer vizsgálod meg, hogy mit kell cserélni, de miután 5 elem kell és 1-5 között, így sokszor ismétlődhet.
Valami ilyesmi:
var tomb = new List<int>();
var r = new Random();
while (tomb.Count < 5)
{
int szam = r.Next(1, 6);
if (!tomb.Contains(szam))
tomb.Add(szam);
}String.Join(", ", tomb.ToArray())
Sőt ha csak kiírod, egyből mehet List<string>-be is.
[ Szerkesztve ]
-
lord.lakli
őstag
-
lord.lakli
őstag
válasz sirszevenap #6806 üzenetére
Lehet, hogy nem foglalkozott itt senki se vele, így nem tud válaszolni.
-
lord.lakli
őstag
válasz sirszevenap #6809 üzenetére
Az én kérdéseimhez képest tuti komplexebb a kérdésed, mert nem szoktam itt kérdezni fejlesztéssel kapcsolatos dolgokat
-
lord.lakli
őstag
válasz gyurkikrisz #6833 üzenetére
List-be insertálni, vagy List.CopyTo?
-
lord.lakli
őstag
Jó csak nem értettem, hogy valójában csak rögzítésnél kell, de utána már felesleges "szívatás", akkor miért érdemes letárolni. Formátum teljesen fix? Azaz adott pozíciókban van a megfelelő szeparátor? Ha igen, akkor mentésnél kiveszed a textbox értékéből. Szerkesztésnél meg megjelenítés előtt visszapakolod.
-
lord.lakli
őstag
SQL Injection támadási lehetőség, amikor stringként fűzöd össze az SQL-t a paraméterekkel. Helyette SqlParameter-t kell használni.
-
lord.lakli
őstag
válasz alratar #7042 üzenetére
Bakker Ez volt az egyik tippem, a másik meg, hogy beégetted a számot.
Ha egyszer végig mész rajta, akkor miért nem vizsgálod meg egyből, hogy fej vagy írás? Ne menj végig kétszer a fájlon.Ezek után tuti az a baj is, hogy végig mész a fájlon egyszer és utána szeretnél még egyszer végig szeretnél menni rajta, de a mutató a fájl végén van már, így sosem olvassa ki még egyszer a sorokat (Seek függvény).
Ja és ne használj double-t amire int is bőven jó, vagy még kisebb egész is.
[ Szerkesztve ]
-
lord.lakli
őstag
válasz alratar #7039 üzenetére
Nem ártan egy kis kivétel kezelés sem, nehogy elszálljon a program, ha nem megfelelő formátumú a fájl:
- string, majd ellenőrzés után legalább hossz ellenőrzés, mert ugye lehet üres sor is, de lehet egy karakternél hosszabb is
- fájl olvasás try - catch: kultúrált üzenet visszaadása
- nullával nem osztunk -
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 ]
-
lord.lakli
őstag
válasz brown77 #7215 üzenetére
Csinálj egy winform-os projektet.
Label: címke a felirathoz, kérdéshez.
Textbox: adatbeviteli mező, egyelőre szerintem mindet fogadjon el és kód szintjén ellenőrizd, hogy számot adott-e meg. Ezt később tovább viheted, hogy eleve csak számot tudjon beírni (maszkolt mező, billentyű események)
Button: nyomógomb. Ennek kell a Click eseményébe a te általad írt kód, ami kiolvassa az adott nevű textbox.Value-t (ha jól emlékszem, már régóta nem winformozom)
Megjelenítésre a legegyszerűbb egy mezei MessageBox, amelynek a Show(string) függvényét használva megjelenik egy kis ablak az üzenettel. Lehet Label.Text is, de sok minden más is.
Ú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!