Hirdetés
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Netfone
- Motorola Moto G54 5G Power Edition - nem merül le
- Telekom mobilszolgáltatások
- Samsung Galaxy A54 - türelemjáték
- A Xiaomi nem késlekedik az Android 15-tel
- Samsung Galaxy A35 5G - fordulópont
- Yettel topik
- Huawei P30 Pro - teletalálat
- Realme GT Master Edition - mestermunka
Hirdetés
-
XY6020L Sinilink DC-DC átalakító
lo XY6020L Sinilink DC-DC átalakítóAz ok amiért írok egyszerű, elakadtam, és nem találok információt egy kérdésre, de ezt...
-
Profiknak szánt, Thunderbolt 4-es SSD a ProGrade Digitaltól
ph A maximum 2,5 GB/s-os iramot diktáló megoldás 2-től 8 TB-ig skálázódik, és tetszetős a körítése.
-
Az irodákba kéri a dolgozóit a Dell, az Ubisoft is próbálkozik
it A Dellnél a globális sales csapattól kérik a heti 5 irodai munkanapot, az Ubisoft 3 napot szeretne, de emiatt sztrájkba ütközik.
Új hozzászólás Aktív témák
-
fatal`
titán
válasz Peter Kiss #6053 üzenetére
Akkor írhat ha más nevet akar neki adni, de akkor meg using Timer = System.Windows.Forms.Timer;
Legalábbis az adott kontextusban.
Bár végülis bármit írhat, maximum le sem fordul.
[ Szerkesztve ]
-
Köszi! Én azt hittem először, hogy egy már meglevő cuccot nem enged újra használni. Ezt azért jó tudni (most meg kéne néznem a MSDN-en hogy minek írja, osztály vagy namespace, de gyanítom, hogy az ott egy osztály lesz )
Azért köszi hogy segítetek, ha nagyon megakadok
[ Szerkesztve ]
Mutogatni való hater díszpinty
-
zuzu000
őstag
Char tömbben hogy keresem meg az első nem \0 elem indexét? Tehát ami valamilyen karaktert jelöl, nem üres. Illetve a \0 space-t jelöl? Vagyis ha ezt beillesztem egy string-be, akkor ott szóköz lesz?
Szerk.: kipróbáltam, \0 = szóköz
[ Szerkesztve ]
-
Karma
félisten
válasz zuzu000 #6056 üzenetére
"Char tömbben hogy keresem meg az első nem \0 elem indexét?
Tehát ami valamilyen karaktert jelöl, nem üres."Legegyszerűbben egy for ciklussal.
Ha általánosabban meg akarod oldani, akkor célszerű írni egy extension methodot a feladathoz. Álljon itt egy példa StackOverflowról:
public static class EnumerableExtension
{
public static int FirstIndexMatch<TItem>(this IEnumerable<TItem> items, Func<TItem,bool> matchCondition)
{
var index = 0;
foreach (var item in items)
{
if(matchCondition.Invoke(item))
{
return index;
}
index++;
}
return -1;
}
}Ezzel a metódussal a feladatod így néz ki:
var array = new [] { '\0', '\0', '\0', '4' };
Console.WriteLine(array.FirstIndexMatch(ch => ch != '\0'));"Illetve a \0 space-t jelöl?"
Nem, dehogy is. Az Unicode NULL karaktert jelöli, aminek nyolc bites testvére C-ben ugyebár a string végét jelölte, viszont C#-ban nincs ilyen jelentősége, mert a char tömb tudja magáról a saját hosszát.
"Vagyis ha ezt beillesztem egy string-be, akkor ott szóköz lesz?"
Nem. Bekerül a stringbe, foglalja a helyet, de ha kiírod, nem jelenik meg semmi.
Szerintem nem szabadna, de most csak .NET fiddle-ön tudtam kipróbálni, ott tényleg nem jelent meg semmi. Lehet, hogy konzolon máshogy megy.Az biztos, hogy a szóköz helyes jelölése: ' '
[ Szerkesztve ]
“All nothings are not equal.”
-
nagyúr
Nema'.
string testStr = "\0\0\0\0abcd";
Console.WriteLine(testStr.AsEnumerable().ToList().FindIndex(x => !x.Equals('\0')));
char[] array = new[] { '\0', '\0', '\0', '4' };
Console.WriteLine(array.ToList().FindIndex(x => !x.Equals('\0')));[ Szerkesztve ]
while (!sleep) sheep++;
-
zuzu000
őstag
Huh, köszi, bár ilyet még nem tanultunk, meg nem is nagyon értem, mi történik benne, szóval nem tenném bele. (beadandó, és lehet, hogy belekérdeznek)
For-ral hogy gondoltad? while-lal próbáltam, de valamiért nem akart működni.
int hely = -1;
int temp =0;
while (hely != -1)
{
if (array [temp] != '\0')
hely = temp;
temp++;
}
De valamiért bele se akart menni a ciklusba, nem értem, mi baja.A \0 meg érdekes, mert kipróbáltam.
string y = "abba";
y = y.Insert(1, '\0'.ToString());
Console.WriteLine(y);
"a bba"[ Szerkesztve ]
-
nagyúr
válasz zuzu000 #6059 üzenetére
A \0 meg érdekes, mert kipróbáltam.
string y = "abba";
y = y.Insert(1, '\0'.ToString());
Console.WriteLine(y);
"a bba"Keversz ket dolgot: a karaktert es azt, hogy a konzol hogy jeleniti meg. A \0 karakter NEM szokoz, de a konzol nem tudja megjeleniteni, ezert rak egy szokozt a helyere. Ez viszont egy implementacios kerdes.
while (!sleep) sheep++;
-
Karma
félisten
Oké, a FindIndex nem volt előttem, mint ahogy IntelliSense se hogy pótoljam
Mentségemre szóljon azért, hogy az én megoldásom nem iterál végig az Enumerable-ön, szemben a ToListtel Persze a jelenlegi problémánál a char tömb miatt ez mindegy.
[ Szerkesztve ]
“All nothings are not equal.”
-
zuzu000
őstag
Bár tudnám, miről beszéltek
Megint kéne egy kis segítség, egyszerűen nem tudok rájönni. Csak rávezetés kéne, mivel nekem kéne megírnom. A lényeg, hogy tegyük fel, van két szó. Az egyik szó részsorozata a másiknak, ha a másik karaktereinek törlésével előállítható. Pl: x = aa , y = abba, ilyenkor x részsorozata y-nak. Az a feladat, hogy van egy szöveg és elő kell állítani a lehető legrövidebb szót, hogy a szöveg összes szava részsorozata legyen annak a szónak.
pl a szövegben ez van: "aba abba aab", ilyenkor a legrövidebb szó, melynek minden szó részsorozata:
aabba (ha nem nézem félre).
Erre írtam a metódust, ami kigyűjti egy char tömbbe azokat a betűket, amik nincsenek benne, és a main-ben pedig a megfelelő helyre beillesztem.
static char[] MikHianyoznak(string szo, string x)
{
char[] hianyzik = new char[szo.Length];
for (int i = 0; i < szo.Length; i++)
{
char s = szo[i];
if (x.IndexOf(s) == -1)
hianyzik[i] = s;
else
x = x.Substring(x.IndexOf(s)+1);
}
return hianyzik;
}Így néz ki. A hiba ebben a példában az aab-nél jön elő. Az első a-t megtalálja, a másodikat is, de az utána lévő b-t már nem, mivel az x ilyenkor már üres a substring miatt.
Lehetőleg ezt szeretném módosítani valahogy. Vagy túl egyszerűen gondolkozom és a megoldás ennél sokkal bonyolultabb? -
Dj Sügi
őstag
Sziasztok!
Lenne egy olyan kérdésem, hogy megvalósítható ez az ötlet: Ha ki van jelölve a DataGridView-ban egy sor, akkor egy PictureBox-ban jelenítsen meg egy képet a program, ha egy másik sor van kijelölve akkor egy másik képet. A képek a program mappájában lennének tárolva. Alapértelmezettnek mindig az első sor kellene hogy kijelölve legyen a DataGridView-ban és akkor a PictureBox-ban a program betöltésekor rögtön az ehhez tartozó képet jelenítené meg.
Lövésem sincs hogy kellene hozzákezdeni, nagyon bonyolult lenne megcsinálni? Tudnátok segítséget adni a kezdéshez, vagy linket ha már valaki próbálkozott ilyennel?
Kösz!
🚗 FORD - First On Race Day 🚗
-
Dinter
addikt
Üdv!
Egy versenyfeladatot kezdtem el gyakorlásképp. Egy loginrendszer az első része. Egy szövegfájlban vannak elmentve az adatok, és ha nem stimmel, akkor nem enged belépni, aztán pedig a beosztástól függően különböző felületet ad ki, aztán még vannak benne plusz funkciók, de egyenlőre csak a bejelentkezésnél tartok.
1. Erre console app vagy winform app az alkalmasabb?
2. A loginnál addig jutottam, hogy beolvasom az adatokat egy adatok string[]-be. A txt-ben a fájlok ilyen formátumban vannak:azonosító:felh.:jelszó:vezető-e
1:id:pw:1Na most ezeket hogy, mivel kéne különszednem?
-
Dinter
addikt
válasz Alexios #6070 üzenetére
Azt hogy tudom megcsinálni, hogy ezt berakom egy for ciklusba, és akkor legenerálja a 6 usernek jelen esetben:
string[] user+i=adatok[I].Split(':')
Azt hogy tudom elérni, hogy olyan nevű string tömböt hozzon létre, amiben benne van a 'user' és még hozzáfűzi az 'i' jelenlegi értékét?
[ Szerkesztve ]
-
Karma
félisten
A változók fogalmának fuss neki még egyszer. Futásidőben ez nem fog így működni - Jester01-nél a pont, hogy listára vagy dictionaryre lesz szükséged. A kettő közötti választás feladatfüggő.
Kiegészíteném azzal, hogy a string[]-ökkel való zsonglőrködés helyett sokkal jobban jársz, ha csinálsz egy osztályt a felhasználóknak, és minden későbbi lépésnél ezt használod alapként. A stringfétis, ahogy egy néhai kollégám hívta, veszélyes gyakorlat. Inkább ne hagyd magadban kialakulni.
Szóval a következő lépéseket javaslom egy nagyon naiv megoldáshoz(*):
1) Csinálj egy User osztályt négy adattaggal.
2) Írj egy olyan metódust valahova, ami egy beolvasott sorból User példányt csinál (ezen belülre rakhatod a Split hívást és az adattagok feltöltését).
3) Írj egy olyan metódust, ami paraméterként kap egy StreamReadert, while ciklusban (amíg van mit olvasni), a ReadLine metódussal felolvas egy sort, az előzőleg megírt metódussal Usert gyárt belőle, és berakja egy List<User>-be. A végén visszaadja ezt a listát.
4) Ezt a metódust meghívod a fájllal, és máris előállt minden felhasználó adata.(*): Nem tudom, hogy folytatódik a feladat. Ha csak a belépéshez kell a fájl tartalma, akkor jobban megérheti egy olyan konstrukció, ami nem nyalja fel memóriába a listát egyszerre, hanem mindig csak az aktuális, egy sornyi Usert ellenőrzi, és ha illeszkedik a név/jelszó párra, visszaadja.
[ Szerkesztve ]
“All nothings are not equal.”
-
zuzu000
őstag
static int[] MibőlMennyi(string[] szavak, char[] karakterek)
{
int[] mimennyi = new int[karakterek.Length];
for (int i = 0; i < szavak.Length; i++)
{
for (int i2 = 0; i2 < karakterek.Length; i2++)
{
if ((szavak[i].Count(x => x == karakterek[i2]) > mimennyi[i2]))
mimennyi[i2]++;
}
}
return mimennyi;
}szavak[0] = "abcd"
szavak[1] = "abb"
karakterek = a,b,c,d
Meg szeretném számolni, hogy miből hány darab van, és egy int[] tömbbe betenni a mennyiségeket. De valamiért a mimennyi[] így néz ki : 1,1,1,1,0,0,0,.. stb.
Tehát mintha minden karakterből csak egyet talált volna, ami szavak[0]-ra jó is, de b-ből kettő van szavak[1]-ben. -
zuzu000
őstag
válasz Jester01 #6078 üzenetére
De ez 3-at adna vissza b-re, nem? Azt akartam, hogy maximum hányszor fordul elő, tehát ha 'a' már volt az első szóban, és a másodikban is csak egyszer van, akkor ne növelje az értéket. Ha 'b' egyszer van az első szóban és 2x a másodikban, akkor 2 legyen a mimennyi megfelelő eleme. Vagyis csak akkor növelje a mimennyi[i2]-t, ha többet talál a következő szóban, mint amennyi már eddig van.
[ Szerkesztve ]
-
Jester01
veterán
válasz zuzu000 #6079 üzenetére
A "maximum" szó sehol nem szerepelt ám a hozzászólásodban, a gondolatolvasásért pedig külön díjat számítunk fel
Mindenesetre ha a count nagyobb lesz mint az eddigi maximum akkor te simán eggyel növeled, nem pedig beállítod az új értékre a maximumot.
mimennyi[i2] = Math.Max(mimennyi[i2], szavak[i].Count(x => x == karakterek[i2]));
Jester
-
Peter Kiss
őstag
válasz zuzu000 #6077 üzenetére
Ez jó eredményt ad (vagyis azt csinálja, amit akarsz)?
static Dictionary<char, int> MibőlMennyi(IEnumerable<string> szavak, ICollection<char> karakterek)
{
return szavak.SelectMany(x => x.ToCharArray())
.Where(karakterek.Contains)
.ToLookup(x => x)
.ToDictionary(x => x.Key, x => x.Count());
}Látom, nem. Legközelebb átgondoltabban kérdezzünk.
A metódus neve eleve hibás.[ Szerkesztve ]
-
zuzu000
őstag
válasz Jester01 #6080 üzenetére
Igaz, igaz, ott a pont! Így már megy, köszi
Szerk.: ez még mindig a beadandó feladatomhoz kell, és tegnap utánaolvasva kiderült, hogy a tanár nem gondolta át egészen. A feladat az, hogy adott egy T szöveg. Keressünk meg azt a legrövidebb X szót, melyre igaz, hogy T minden szava részsorozata X-nek. Részsorozat az, hogyha a karaktereinek törlésével előállítható, a sorrendet figyelembe véve.
Pl: A = "abba" B = "aa", akkor B részsorozata A-nak.
Ahogy néztem ez lenne a Shortest Common Supersequence, amire jelenleg nincs olyan kód (n szavú szövegre), mely ésszerű időn belül lefutna. Ti mit tudtok erről?[ Szerkesztve ]
-
Dinter
addikt
Ha kérek egy számot, viszont nem ad meg semmit, akkor azt hogy csinálom meg, hogy újra kérje? Erre gondoltam, de ez nem jó.
int szam = int.Parse(Console.ReadLine());
if (szam == null)Meg amikor az IntelliSense-nél elkezdek valamit írni, akkor kijelöli a sárga kerettel, de nem írja be magától, azt hogy lehet visszakapcsolni?
[ Szerkesztve ]
-
zuzu000
őstag
Igen, az a baj vele, hogy nem elég egyszerre két szóra nézni, hanem a T szöveg összesére kell egyszerre. Ha két szavanként nézzük, akkor közelítő megoldást tudunk kapni, de nem az lesz a legrövidebb. De arra se tudtam megírni a kódot. Az is baj, hogy nem egyértelmű.
pl: x = ac y = ab
most akkor melyik lesz a közös legrövidebb szó, melynek x és y is részsorozata? abc, vagy acb? -
#34322688
törölt tag
Sziasztok.
Nem tudok rájönni, miért ír hibát a életkornál?
Console.Write
("Kérem adja meg az életkorát:");
int E =
int.Parse(Console.ReadLine());
int a=0;
if (E >= 0 && eletkor < 7) a = 1;[ Szerkesztve ]
-
#34322688
törölt tag
válasz Alexios #6090 üzenetére
Itt van az egész forráskód:
using System ;
using System . C o l l e c t i o n s . Gene ric ;
using System . Linq ;
using System . Text ;namespace Co n sol eA p pli ca tio n1
{ c l a s s Program {
s t a t i c void Main ( s tr ing [ ] a rg s )
{Con sole . Write
( "Kérem␣ ad ja ␣meg␣ az ␣ é l e t k o r á t : ␣" ) ;
int E =
int . Pa rse ( Con sole . ReadLine ( ) ) ;
int a=0;
i f (E >= 0 && e l e t k o r < 7 ) a=1;
i f (E >= 7 && e l e t k o r < 22 ) a = 2 ;
i f (E >= 19 && e l e t k o r < 66 ) a = 3 ;
i f (E > 65 ) a = 4 ;
switch (a )
{
case 1:
Con sole . WriteLine ( "Gyermek . " ) ;
break ;
case 2:
Con sole . WriteLine ( " I s k o l á s . " ) ;
break ;
case 3:
Con sole . WriteLine ( " F el nő t t . " ) ;
break ;
case 4:
Con sole . WriteLine ( " Nyugdí ja s . " ) ;
break ;
de fau lt :
Con sole . WriteLine
(" Rossz ␣ é r t é k e t ␣ a do t t ␣meg . " ) ;
break ;
}
Con sole . ReadLine ( ) ;
}
}
}Valami miatt nem működik.
[ Szerkesztve ]
-
-
Hello!
Van valami értelmes módszer arra, hogy egy form háttere átlátszóság legyen? Nem a teljes formot kell átlátszósítani, csak a háttérszínét. Sajnos ha a teljes formot átlátszósítom, akkor a rajta levő elemek is átlátszóak lesznek, azaz pl. a fekete betűkből szürke :S Ha pedig form.BackColor transparent, akkor kiakad a progi induláskor
Mutogatni való hater díszpinty
-
válasz sztanozs #6094 üzenetére
Basszus.
Én általában előbb gőglizok, aztán kérdezek
De ebben a keresésben volt egy olyan amit még nem láttam, és ott van, TransparencyKey.Köszi
Még azon filózok, a 2 formos progit hogy lehet úgy megoldani, hogy a 2 form bármelyikét előtérbe hozva előtérbe jöjjön a másik is - elég ehhez az előttérbe hozás eseménykezelőire ráülni?
Illetve hogy az egyik formomnak a másik fölött kell lennie, de más programok eltakarhassák, erre nem jó a TopMost... De akkor mi? :S
[ Szerkesztve ]
Mutogatni való hater díszpinty
-
sztanozs
veterán
Egyáltalán nem bántásként írtam, csak az összes találat az első oldalon relevánsnak tűnt - így nem volt kedvem külön linkelgetni
Topmostnál pont az a probléma, hogy a többi form nem takarhatja el... UI kezelő zorderjével kellene valacolni, de asszem ez már meghaladja a google-fu-mat
[ Szerkesztve ]
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...
-
válasz sztanozs #6096 üzenetére
Nem az első volt helyből talán az 5. De pont az kellett
Jjjja, meglátom, ennek még nem jártam utána (illetve jártam, csak nem pont ez volt a gond, és ez okozhat eltéréseket).
Van BringToFront, azt tudom. Csak az feldobja az ablakot. De az jó nekem, ha feljön a Form1, elkapni az eseményt, és fel a Form2. Ha hátramegy, akkor hátradobni a Form2-t is. Ha a Form2 jön fel, akkor rántsa fel a Form1-et is.
Csak nem tudom, ez működne-e.[ Szerkesztve ]
Mutogatni való hater díszpinty
-
Karma
félisten
válasz #34322688 #6091 üzenetére
Tényleg nincs olyan változód, hogy eletkor. Mindenhol máshogy egy nagy "E"-betűvel jelölted (ami mellesleg nagyon ocsmány gyakorlat, inkább legyen mindenhol "eletkor", vagy "age"). Jelöld egységesen, és jó lesz.
Valamint ha legközelebb kódot illesztesz be, használd a Programkód gombot!
“All nothings are not equal.”
-
#34322688
törölt tag
Hali.
Köszi a választ, nem régóta foglalkozom a programozással, ezért vannak ilyen szarvashibáim, mint a nagy E-s megoldás. Más jellegű ugymond szakmához kell egy kis alapszintet konyítani a c, c# stb nyelvből alapszinten. Ha privin tudnál ennek a javításában segíteni, azt megköszönném. Legalább átudnám nézni, mit miért hogyan van javítva.
Előre is köszönöm ha lesz időd, módod segíteni.[ Szerkesztve ]
-
Froclee
őstag
sziasztok. gyakorlásképp szeretnék egy egyszerű picike háttérben futó programot írni. annyi a lényege, hogy a Cod-ot megnyitom akkor a utorrent záródjon be, ha pedig bezárom, akkor nyíljon ki. na most egyik problémám a process monitoring, ami gőzöm sincs hogy nézhet ki. ezért úgy gondoltam, hogy időzítéssel fogom megoldani. pl 10 másodpercenként megnézi, hogy fut-e a cod2, ha nem akkor mehet a utorrent. ha fut, akkor kill. ezt majd még később fogom megcsinálni (illetve a minize to taskbar-t is), mert egyelőre gombnyomásra sem működik teljesen. íme:
private void button1_Click(object sender, EventArgs e)
{
foreach (Process kalofdutyi in Process.GetProcessesByName("CoD2MP_s"))
{
if (kalofdutyi.Responding)
{
textBox2.Text = "CoD2 fut";
foreach (Process jutorrent in Process.GetProcessesByName("utorrent"))
{
jutorrent.Kill();
textBox1.Text = "uTorrent kilőve";
textBox1.BackColor = Color.GreenYellow;
}
}
if (!kalofdutyi.Responding)
{
textBox2.Text = "CoD nem fut";
Process.Start("E:\\Program Files (x86)\\uTorrent\\uTorrent.exe");
textBox1.Text = "uTorrent fut";
textBox1.BackColor = Color.White;
}
}az első ág működik, ha lenyomom a gombot és fut a cod, kilövi, de a második ág istenért se akar jó lenni. sejtésem szerint azért, mert a "not responding" a futó, de kifagyott alkalmazásokra utal. hogyan tudnám ellenőrizni másképpen, hogy fut az adott alkalmazás? erre nem jövök rá.
illetve láttam msdn-en egy HasExited property-t, de azt nem igazán tudtam működésre bírni.
köszi[ Szerkesztve ]
Ú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!
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest