Új hozzászólás Aktív témák
-
Vasinger!
nagyúr
válasz Szabesz #1900 üzenetére
Kezdem kapizsgálni. Szóval && kéne használni || helyett? Mert ha igen akkor az a vicc, hogy a legelején így kezdtem el
A == mi a probléma? Miért nem jó?
Most, hogy kicseréltem && -re, akkor az első után kilép a ciklusból akármit is írok be kilépési feltételnek illetve tömb méretnek.
[ Szerkesztve ]
-
#90999040
törölt tag
válasz Vasinger! #1899 üzenetére
Ezzel addig tudok beírni neveket, amekkora méretű tömböt hozok létre, ha eléri a megadott számot lefagy, nem pedig leáll.
Ez a gondolkodás eddig jó.
Most gondolatban cseréld ki a 0-t 49-re. Akkor nem fagy le a program? És ha lefagy, akkor miért? Nem a rossz feltétel miatt?
-
#90999040
törölt tag
válasz Vasinger! #1903 üzenetére
Szintaktikai tudás bővítéséhez egy link
De a probléma amint látom nem csak a szintaktika hiányából áll. Próbáld átgondolni, hogy mi a különbség az egyes logikai elemek között, és ebben a példában melyiket kellene használni és miért?
-
#90999040
törölt tag
válasz Vasinger! #1905 üzenetére
A #1884 kérdésedben ezt írtad:
Addig kérünk be stringeket/neveket, ímg üres string nem lesz vagy elérjük az 50-et.Ezt próbáld szem előtt tartani. A konkrét feladatra lefordítva a ciklus addig tart:
1.: amíg nem üres stringet ütünk be
ÉS
2.: 50-nél kevesebbszer kértünk be stringetÍgy bármelyik feltétel "HAMIS"-sá válik, akkor a ciklus befejeződik.
Miért kellene VAGY-ot használni??
-
j0k3r!
senior tag
válasz Vasinger! #1905 üzenetére
probaljuk meg mas oldalrol megkozeliteni a dolgot. milyen feltetel szukseges ahhoz, hogy belepj a ciklusba?
1. nem lehet ures a string
2. nem lehet az aktualis elemszam nagyobb, mint 49 (mivel a hossz-t 0-val inicializaltad)ha a ketto kozul akar csak az egyik teljesul, akkor mar nem szabad tovabbi nevet bekerni, tehat mind a ket feltetelnek kell teljesulnie, azaz ES (&&) fog kelleni, tehat ha
nem ures a string ES kisebb az aktualis elemszam, mint 49, akkor lephetunk be a ciklusba.szerk: megeloztek
[ Szerkesztve ]
some men just wanna watch the world burn...
-
Vasinger!
nagyúr
-
j0k3r!
senior tag
válasz Vasinger! #1908 üzenetére
csak siman: hossz++; kell
ez a feltetel nalam mukodik: while (!string.IsNullOrEmpty(név) && hossz < 49)azert kell 49, mert : vegyunk egy kisebb peldat, lehessen csak max. 3 nevet bekerni
while (!string.IsNullOrEmpty(név) && hossz < 2)
1. futas: hossz = 0 ->beirjuk az 1. nevet // ez a ciklus elotti bekeres
2. futas: hossz = 0 ->beirjuk a 2. nevet -> hossz++ -> hossz = 1 lesz // hossz <2 igaz
3. futas: hossz = 1 ->beirjuk a 3. nevet -> hossz++ -> hossz = 2 lesz // hossz <2 igaz
4. futas: hossz = 2 -> hossz <2 hamis -> leallunk[ Szerkesztve ]
some men just wanna watch the world burn...
-
Vasinger!
nagyúr
válasz #90999040 #1913 üzenetére
Ezt szerencsére nem tartalmazta a feladat előírása. Így a feladat kiírásának tökéletesen megfelel ez a kód.
Természetesen lehetne még bevinni további feltételeket, meg nagybetűsítéseket, szóköztelenítéseket és egyéb darabolást, de fölöslegesen most nem szenvedek vele.
-
kingabo
őstag
válasz Vasinger! #1908 üzenetére
"string[,] nevek = new string [49, 2]
...
while (név != "" && hossz <= 50)
Látod ezért mondtam, hogy használj konstanst erre, de nem...Egyébként ennyi lenne az egész:
const int MaxMeret = 49;
string[,] nevek = new string [MaxMeret , 2]
...
while (!string.IsNullOrEmpty(név) && hossz < MaxMeret )Ráadásul az intellisense fel is ajánlja és ha 49 helyett csak 10 név kell, akkor 1 helyen átírod és kész... Na mind1, ha inkább szenvedsz
szerk: D'oh kódban nem megy a félkövér
[ Szerkesztve ]
-
[pod]Diablo
őstag
válasz [pod]Diablo #1891 üzenetére
Erre valaki tud valami megoldast?
"Sült hal, Tom Jones, délutáni tea, rossz kaja, mégrosszabb idő, kibaszott Mary Poppins, LONDON!" // ...when i get sad.i stop being sad and be awesome instead...
-
shev7
veterán
válasz [pod]Diablo #1917 üzenetére
korabban mar javasoltak neked a fiddler nevu programot. A http forgalmat monitorozva meglathatod mi a kulonbseg a bongeszo altal kezdemenyezett belepes es a programod altal kezdemenyezett belepes kozott
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
Lakers
tag
Sziasztok!
A feladat a következő: Egy olyan progi írása, amely egy árú kezdőbetűiből megkeresi az adott árút és kiírja annak árát, de csak akkor ha egyértelmű a találat.
Néhány kódrészletet nem értek:
while (j<=N-1 && (A[j].Név.Length < keresett.Length || A[j].Név.Substring(0,keresett.Length) != keresett || i==j))
itt az i == j-t nem értem, hogy az miért kell.talalt2 = (j <= N - 1);
if (!talalt2)
{
Console.WriteLine("Keresett Áru ára:" + A(i).Ár);
}Illetve a talált és a talált2 az pontosan jelent? amikor (i<=N-1) Én először megtalált index számra tippeltem... de nem hiszem, hogy az lenne.
Ha nekem ezt eltudnátok magyarázni, hogy pontosan, mit miért csinál a kódrészlet, akkor megalapozátok a programozói pályámat Előre is köszönöm a segítséget
Itt a kód:Console.WriteLine("Keresett Áru nevének kezdőbetűi:");
keresett = Console.ReadLine();
i = 0;
while (i<=N-1 && (A[i].Név.Length < keresett.Length || A[i].Név.Substring(0,keresett.Length) !=keresett ))
{
i++;
}
talalt = (i <= N - 1);
if (talalt)
{
j = 0;
while (j<=N-1 && (A[j].Név.Length < keresett.Length || A[j].Név.Substring(0,keresett.Length) != keresett || i==j))
{
j++;
}
talalt2 = (j <= N - 1);
if (!talalt2)
{
Console.WriteLine("Keresett Áru ára:" + A[i].Ár);
}
else
{
Console.WriteLine("Nem egyértelmű");
}
}
else
{
Console.WriteLine("Nincs ilyen árú!");
}[ Szerkesztve ]
-
Jester01
veterán
itt az i == j-t nem értem, hogy az miért kell
Azért, hogy saját magával ne hasonlítsa össze.Illetve a talált és a talált2 az pontosan jelent?
Azok boolean változók, azt jelzik, hogy volt-e egy vagy több találat.Ez egy elég rossz kód, ne ebből akarj programozni tanulni.
Jester
-
Vasinger!
nagyúr
válasz kingabo #1916 üzenetére
Félre értés ne essék. Nem azért nem használtam a Te módszeredet mert nem jobb, vagy én nem akartam volna, hanem mert a tanárnak feltűnt volna és nem tetszett volna, ha nem az ő módszereit használtam volna.
Egyébként itt a megoldás amit a tanár várt volna. 1 dimenziós tömbök és indexof&substring.....
Console.WriteLine("Kérem a neveket az üres string végjelig: ");
string[]nevek = new String[50];
int hossz = 0;
string nev;
while(hossz<50)
{
nev = Console.ReadLine();
if(nev != "")
{
nevek[hossz] = nev;
hossz ++;
}
else
{
hossz = 50;
}
}
Console.WriteLine("Névnap: ");
string nevnap = Console.ReadLine();
Console.WriteLine("");
for(hossz=0; hossz<50; hossz++)
{
if(nevek[hossz] != null)
{
int i = nevek[hossz].IndexOf(" ");
string a = nevek[hossz].Substring(i+1);
if(a == nevnap)
{
Console.WriteLine(nevek[hossz]);
}
}
else
{
hossz = 50;
}
}
Console.ReadKey(); -
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)
-
kingabo
őstag
válasz Vasinger! #1921 üzenetére
"Félre értés ne essék. Nem azért nem használtam a Te módszeredet mert nem jobb, vagy én nem akartam volna"
Ok, csak láttad Te is mennyi elgépelés volt egy ekkora progiban is és utána mennyi problémát okozott."hanem mert a tanárnak feltűnt volna és nem tetszett volna, ha nem az ő módszereit használtam volna."
Ez az ember aztán igazán tud programozni! Nem a tanárnak programozol, hanem magadnak. (sztem)
Hossz = 50 helyett, akkor már mehetett volna break is. A substringes hack-elés meg lassú és gáz. Ráadásul csak az első névnapost köszönti.
Szerintem az itteni megoldások szebbek voltak. -
#90999040
törölt tag
válasz martonx #1925 üzenetére
Eddig én ezt használtam, de amit Te ajánlottál, úgy látom, mintha részletesebb lenne(bár még csak éppen belenéztem).
Az alapokat azonban mindegyik tartalmazza. -
Lakers
tag
Sziasztok!
Van néhány kódrészlet, amit nem értek, és ahhoz kérnék segítséget, hogy ha valaki leírná, lépésről, lépésre, hogy mit miért csinál a program:
Kódrészletek:
class Ló
{
public string Name { get; set; }
public DateTime Born { get; private set; }
public int? Price { get; set; }
public Ló(string name, DateTime born)
{
Name = name;
Born = born;
Awards = new List<Award>();
}
public List<Award> Awards { get; set; }
public event EventHandler<LóversenyEventArgs> Verseny;
public bool Versenyez(string versenynév)
{
if (Verseny != null)
{
LóversenyEventArgs lvea =new LóversenyEventArgs(versenynév);
Verseny(this, lvea);
}
Random r = new Random();
int i = r.Next(0, 10);
//return i < 2 ? true : false;
return i < 2;
}
public override string ToString()
{
return String.Format("Név: {0}, született: {1}, ár: {2}",
Name, Born, Price == null ? "N/A" : Price.ToString());
//price ?? 0
}
}
class Award
{
public string Name { get; set; }
public int Prize { get; private set; }
public Award(string name, int prize)
{
Name = name;
Prize = prize;
}
}
class Függő
{
public void FelrakjaAzÖsszesPénzét(object sender, LóversenyEventArgs e)
{
Console.WriteLine("FUSS, {0}, FUSS!!!\nVerseny: {1}",
((Ló)sender).Name.ToUpper(), e.VersenyNév);
}
class LóversenyEventArgs : EventArgs
{
public string VersenyNév { get; private set; }
public LóversenyEventArgs(string vn)
{
VersenyNév = vn;
}
}
class Program
{
static void Main(string[] args)
{
List<Ló> lovak = new List<Ló>
{
new Ló("Kincsem", DateTime.Now) {Price =2000},
new Ló("Alma", DateTime.Now) {Price = 11000},
new Ló("Béka", DateTime.Now)
};
Függő f = new Függő();
foreach (Ló l in lovak)
l.Verseny += f.FelrakjaAzÖsszesPénzét;
foreach (Ló l in lovak)
{
if (l.Versenyez("Négybalpata"))
{
Award a = new Award("Négybalpata", 1);
l.Awards.Add(a);
Console.WriteLine("A díjat nyerte: " + l.ToString());
}
else
Console.WriteLine("Ma is hasznavehetetlen: " + l.ToString());
}
...Amit nem értek a következő részlet:
Függő f = new Függő();
foreach (Ló l in lovak)
l.Verseny += f.FelrakjaAzÖsszesPénzét;foreach (Ló l in lovak)
{
if (l.Versenyez("Négybalpata"))
{
Award a = new Award("Négybalpata", 1);
l.Awards.Add(a);
Console.WriteLine("A díjat nyerte: " + l.ToString());
}
else
Console.WriteLine("Ma is hasznavehetetlen: " + l.ToString());
}Itt is elsősorban az if(l.Versenyez("Négybalpata")) résztől homályos nekem.
De még az előtte lévő f.FelrakjaAzÖsszesPénzét delegate rész sem tiszta.A segítségeteket előre is köszönöm! Szájbarágós magyarázatot előnyben részesítem
-
Frigo
őstag
Hogy tudok kört rajzolni ,úgy hogy csak a középpontját és a sugarát ismerem ?DrawEllipse nem jó.
-
j0k3r!
senior tag
válasz Vasinger! #1921 üzenetére
<szvsz>
most lehet, hogy en vagyok a helikopter, de mi ertelme volt szamolni a megadott neveket (hossz), ha a vegen a for ciklust igy szervezi:
for(hossz=0; hossz<50; hossz++)
igy fuggetlenul attol, hogy 2, 12, 49 nevet adtal meg mindig vegig fog iteralni a tombon.
logikusabb lenne:
for(int j = 0; j < hossz; j++)
aztan a cikluson belul, ahol hossz van, ahelyett j-t irni
nomeg a while(hossz<50) helyett az itt megbeszelt feltetelt irni, mivel ures string eseten ugyanugy belep a ciklusba, es azon belul ertekeli ki, hogy ures-e. (az itt megbeszelt megoldas pedig mar a ciklusba lepes elott kiertekeli, hogy ures-e)
a sok ilyen kis 'hiba' korrigalasaval nagyobb feladatoknal jelentos cpu idot lehet sporolni.
</szvsz>[ Szerkesztve ]
some men just wanna watch the world burn...
-
Mad_nv
csendes tag
Hello!
Múltkor már írtam a WCF-es problémámmal kapcsolatban, de azt már sikerült megoldanom, mert kaptam segítséget itt a fórumon. C#-ban írom a programot. Most már csak az lenne a kérdésem, hogy hogyan tudom azt megoldani, hogy a kliens egy (futás közben) megadott IP címre kapcsolódjon (most csak localhoston belül működik)? Az AddServiceEndpoint-ban localhost van megadva, de hiába írom át azt a címet, mert a Visual Studioval először le kell generáltatni a config file-t (XML fájl) amibe a kódban leírt IP cím lesz beírva. Namost, ha én nem kódban adom meg, hanem bekérem a felhasználótól, hogy miylen IP-re akar kapcsolódni, akkor ez a módszer megbukott. Google-ben rákerestem, de nem nagyon találtam semmi használhatót. -
prog1000
csendes tag
Sziasztok!
Tudnátok segíteni nekem C#-ból? Konkrét feladataim vannak és segíteni kellene megoldani őket.... vagy privátban jelezze aki tudna segíteni!
Köszi!
-
#90999040
törölt tag
válasz prog1000 #1938 üzenetére
abszolut kezdő vagyok
Ez pontosan mit jelent? Egy működő projectet sem készítettél még(pl. "Helló világ!"), sem consoleapplication-be, sem windowsapplication-be? Vagy ezen azért már túljutottál? Ez az első nyelv, amit tanulsz, vagy más nyelvben van tapasztalatod, csak a szintaktikával van gondod. Azért ezekről írhatnál valamit, mert így szerintem csak tapogatózni tudunk, de igazából segíteni nem -
Mad_nv
csendes tag
Megcsináltam a WCF progimat a segítségeddel, hogy konfig file nélkül is működjön, most már csak az a problémám, hogy csak a localhoston működik a program. Van router itthon, szóval másik géppel ki tudnám próbálni a hálózaton belül, de nem tudom, hogy tudnám elérni a saját gépemet egy másikról. Esetleg ebben tudna valaki segíteni?
-
martonx
veterán
ehe-ehe. Ehhez mondjuk tudnod kellene az IP-ket. Aztán vagy a Visual Studio beépített webszerverével kell futtatnod a WCF-et, vagy IIS Express-el, vagy IIS-el.
Az eddigi szerencsétlenkedéseidet elnézve én az első verziót javaslom. Ekkor az éppen aktuális port számot is tudnod kell majd az IP mellé.Én kérek elnézést!
-
Speederer
senior tag
Van 1 nagyon egyszerű kis program, ami a számrendszerek közötti átváltást megoldja. Vagyis van 4 TextBox, a textBox1_KeyUp-ba pedig beleírtam, hogy:
textBox2.Text = Convert.ToString(Convert.ToInt32(textBox1.Text), 2);
textBox3.Text = Convert.ToString(Convert.ToInt32(textBox1.Text), 8);
textBox4.Text = Convert.ToString(Convert.ToInt32(textBox1.Text), 16);Ez szépen meg is csinálja amit szeretnék, de azt szeretném minél rövidebb programkóddal megoldani, hogy ne kelljen szinte mindig ugyanazt a kódot minden textbox keyup-jába beleírni, mivel a 3 sornyi kódból mindig csak néhány karakter változik.
Ez ugye ekkora kis programnál nem jelent sokat, de ha lenne mondjuk hasonló szisztémával 50 textbox-om, akkor az elég cikis lenne már.
Van erre vmi gyors módszer?[ Szerkesztve ]
A rendrakás a kisemberek mániája. A zseni átlátja a káoszt!
-
fatal`
titán
válasz Speederer #1943 üzenetére
Írj rá egy függvényt úgyhogy a változó paramétereket átadod neki mindig.
pl.
private String atvalt(String honnan, int szamrendszer)
{
return Convert.ToString(Convert.ToInt32(honnan), szamrendszer);
}ezután meg kívülről meghívod:
textBox2.Text = atvalt(textBox1.Text, 2)
stb.
Persze az is lehet hogy teljesen félreértettem mit szeretnél Esetleg kombinálhatod, hogy a textbox1.text az fix és nem adod át paraméterenként, de szerintem úgy csúnyább a kód és ezt később is felhasználhatod, ha mégis máshonnan kell váltani
[ Szerkesztve ]
-
Speederer
senior tag
Ha jól tudom ezzel azt spórolom meg, hogy a Convert-es dolgok helyett az atvalt szót írom. Ez sem rossz, de akkor pontosítanék azon amit szeretnék.
Szóval én úgy szeretném használni jelen kis programomat, hogy bármelyik textbox-ba ha írok vmit, akkor azt az értéket váltsa át a billentyű lenyomása pillanatában a többi számrendszerre.
Ugye van 4 textbox, a 10-es, 2-es, 8-as, 16-os számrendszerrel. Amit írtam előző hsz-ben kódot, az az 1-es textbox-hoz tartozik. De én azt szeretném, ha pl a 8-asba írok, akkor azt váltsa át a másik 3-ra. Na és ehhez ne kelljen nekem ezt a fent említett 3 sort leírnom mindig.
Pl. a 2-esé így nézne ki:
textBox1.Text = Convert.ToString(Convert.ToInt32(textBox2.Text), 2);
textBox3.Text = Convert.ToString(Convert.ToInt32(textBox2.Text), 8);
textBox4.Text = Convert.ToString(Convert.ToInt32(textBox2.Text), 16);a 8-asé (textbox3-é) pedig így:
textBox2.Text = Convert.ToString(Convert.ToInt32(textBox3.Text), 2);
textBox1.Text = Convert.ToString(Convert.ToInt32(textBox3.Text), 8);
textBox4.Text = Convert.ToString(Convert.ToInt32(textBox3.Text), 16);Szóval ezeket szeretném vhogy lespórolni.
Gondolok itt olyasmire, hogy lekérdezni, hogy melyik textbox-ba írok éppen, azt berakni a ToInt32 után, és kivenni azt a sort, amiben az aktuális_textbox.text = ... van
Érthető azért vmennyire? Lehet már nem vagyok a legfittebb... bocsi!A rendrakás a kisemberek mániája. A zseni átlátja a káoszt!
-
fatal`
titán
válasz Speederer #1945 üzenetére
Akkor pakold tömbbe vagy listába őket (most nem tudom melyik paranccsal tudod az összes formon lévő textboxot egy listába tenni de biztosan lehetséges, msdn-en van leírás is sztem, vagy prog.hu-n is kereshetsz).
Utána meg keydownnál foreacheld végig a tömböt és a senderben lévő adatokat pakold be a többi mezőbe. Elég késő van, nem tudom, hogy ez így működni fog e és nincs előttem VS de egy próbát megér.
Mod: Azt kihagytam hogy egy keydownt/keyupot rendelj az összes textboxhoz. Az aktuális textboxra pedig (sender as TextBox)-ként tudsz hivatkozni.
[ Szerkesztve ]
-
kingabo
őstag
"Mod: Azt kihagytam hogy egy keydownt/keyupot rendelj az összes textboxhoz. Az aktuális
textboxra pedig (sender as TextBox)-ként tudsz hivatkozni."Szerintem ezen az irányon kell tovább menni. Utána az fv-ben minden konvertálás elött egy if, hogy a küldő textbox egyezik-e az éppen átváltandó számrendszerével, ha nem akkor kell konvertálni. Tehát pl ha a 10esbe írt, akkor a sender a 10-eshez rendelt textboxxal fog megegyezni az if-ben, a többiben nyilván nem, vagyis ott be is lép az if-en és át is váltja a számot a megfelelő számrendszerbe.
Remélem érthetően sikerült leírnom.
-
kingabo
őstag
Az if 2 ref összehasonlítása + 1 jmp, hogy a convert hogy van megcsinálva nem tudom, talán ellenőrzi, hogy egyezik-e a 2 számrendszer. Vagyis mindenképp kell összehasonlítás: vagy még a konvert elött "mi" írjuk meg, vagy a convert-ben az ms.
Bár tök mind1, ha nem keyup-ra kötve az átváltás, akkor több fölösleges munkát spórulunk meg.
[ 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!
- Mibe tegyem a megtakarításaimat?
- Vezetékes FÜLhallgatók
- Ubuntu Linux
- Redmi Watch 4 - olcsó hús, sűrű a leve
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- A fociról könnyedén, egy baráti társaságban
- Facebook és Messenger
- Megjelentek az első HMD okostelefonok, ezek a magyar áraik
- Milyen autót vegyek?
- Ford topik
- További aktív témák...
- ZOTAC GeForce GTX 1080 AMP Edition 8GB GDDR5X 256bit
- Filmes gép gyűjtemény
- Nikon D5000 + AF-S DX NIKKOR 18-105 mm
- Bontatlan Seagate & Western Digital HDD-k 3TB - 12TB -ig - Számla + Garancia, Ár alatt! BeszámítOK!
- DJI Mini 4 pro FMC drón - 3 akku, RC2 táv, 2 táska, Filterek, 2025. decemberig garancia, DJI Care
- Vadonatúj állapotú Star-Light 2000W hősugárzó FÉLÁR ALATT eladó!
- Samsung QLED The Frame TV 2024 (ajándék The Music Frame)
- Lenovo X270 i5 / FHD IPS / 8Gb / 256Gb SSD / kamera / HDMI / Win10 Pro
- Intel Xeon Gold 5119T (LGA3647), Intel Pentium G3250 és Intel Pentium G3220 (LGA1150) processzorok
- BenQ GW2255 Full HD monitor