Hirdetés
- Lassan állítjuk a fát, és a hardverek is be vannak csomagolva
- Klasszikus kínai festmények ihlették a Colorful legfrissebb memóriáinak külsejét
- Ultrakompakt Key E SSD-vel jelentkezett a Silicon Power
- Mesterséges intelligenciára kihegyezett mini PC jött az ASUS műhelyéből
- ASUS blog: ExpertBook P5 notebook, a munkagép
Új hozzászólás Aktív témák
-
veterán
-
veterán
válasz Andraszz #6852 üzenetére
Szia!
Ikerprím
Eratoszthenész szitájaÉn erre indulnék el
Bővebben:
Legenerálsz n db prímet mondjuk egy listába, utána bejárod és figyeled, hogy mely elemek közt 2 a különbség. Az illeszkedő elemeket kigyüjtöd egy másik listába, azt megint bejárod, majd kiíratod.
Üdv. core2
[ Szerkesztve ]
-
veterán
Á, köszi szépen, tanulmányozom az alternativákat
Üdv- core2
-
veterán
Sziasztok!
Van arra valami egyszerűbb megoldás ennél, hogy egy adott stringből kiszedjem az ékezetes karaktereket és lecseréljem őket ékezet nélküliekre?
string Normalizalt = Szoveg.Normalize(NormalizationForm.FormD);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < Normalizalt.Length; i++)
{
char k = Normalizalt[i];
if (System.Globalization.CharUnicodeInfo.GetUnicodeCategory(k) != System.Globalization.UnicodeCategory.NonSpacingMark)
{
sb.Append(k);
sb.ToString();
}
}Köszi!
Üdv. core2
[ Szerkesztve ]
-
veterán
-
veterán
Sziasztok!
Tudom nagyon kezdő dolog, de elakadtam
A program lényege annyi lenne, hogy van egy textboxom, abba bekérem a szobaszámot megadott értékek közt, a fenti szám alapján megadom az összes szoba szélességét, magasságát, hosszúságát egy listában ott is megadott értékek közt. (Erre van a két tömb)
A gond csupán annyi, hogy amikor kiiratom foreach-csel vagy forral az egészet a listboxba akkor először egyet ír ki, aztán kettő adatot, s így tovább. Abban is majdnem biztos vagyok, hogy valamelyik ciklust rontottam el, csak hirtelen azt nem látom melyiket
Köszönöm segítségetek!
U.i.: A debuggert lefuttatva az 1,2,3 számokat használva a tömbbe betöltődik a három elem, úgy ahogy kell, amikor viszont a for (int j = 0; j < Adatok.Count; j++)
{
listBoxHelysegAdatok.Items.Add(Adatok[j]);
} -re kerül a sor ott van a gond, csak nem értem miért...Üdv. core2
[ Szerkesztve ]
-
veterán
Ez a teljes, de ugye a vége nem az igazi. mert mondjuk egy hasonló listán nem igazán működik [link]
A 7 8 25 jelzi az utolsó fuvart, amit tudom hogy miként kéne elérnem (a nap számával megegyezőt - 7) lépek vissza a km-es listában, csak éppen azt nem tudom hogy miként...
Üdv. core2
[ Szerkesztve ]
-
veterán
Sziasztok!
Közben mindent megoldottam - igaz kissé favágósabb módszerekkel -de lényeg az hogy működik.
Van viszont egy ugyanilyen listám ugyanezzel az elrendezéssel, legnagyobb elemnek az egyszerűség kedvéért ugyancsak a 7 8 25 -öt választottam.
Az utolsó nap utolsó szállítsésnak utolsó km adatát szeretném megtudni, s az adat pon úgy helyezkedik el, hogyha a kilómáteres listámon visszalépek hetet akkor pont ott vagyok. Ezt hogy kéne megvalósítani?
int vissza = 0;
if (nap.Last() == 7)
{
int fuvmax = fuvar.LastOrDefault();
int napmax = nap.LastOrDefault();
vissza = fuvmax - napmax;
}
labelLegutolsoKM.Text = "A hét " + nap.LastOrDefault() + ". napján " + (fuvar.Last() - nap.Last());de ez nem jó a Last miatt.
Üdv. core2
-
veterán
-
veterán
Szia!
S akkor mi a teendő ha a hét utolsó bejegyzéséhez tartozó utolsó út utolsó km adatát szeretném elérni?
pl 7 8 25
Akkor már ez a metódus nem működik, s csak magának a listának vannak olyan tulajdonságai melyekkel így tudnék rendezni, de ott meg nem tudok az adott elemre hivatkozni.
Üdv. core2
-
veterán
Szia!
Tökéletesen sorba is rendezi, de pl. ebben az állapotában ha a lista első számhármasának harmadik tagját szeretném elérni akkor azt hogy teszem meg
Pl. csak annyit tudok, hogy az első oszlop 1-7 mehet, mivel az a hét napjainak jelzője. Tehát monjuk ha az első nap (első adat) első útjának (második adat) kilométeradatait szeretném kiiratni (harmadik adat akkor az kb. hogy teszem meg?
Üdv. core2
-
veterán
Köszi!
Üdv. core2
-
veterán
Őszintén megmondom először megpróbáltam három külön listába berakni, gondoltam, hogy azt úgy tudom egymáshoz viszonyítva rendezni.
StreamReader sr = new StreamReader("tavok.txt");
List<int> a = new List<int>();
List<int> b = new List<int>();
List<int> c = new List<int>();
while (sr.Peek() > 0)
{
string sor = sr.ReadLine();
string[] darabolt = sor.Split(' ');
a.Add(Convert.ToInt32(darabolt[0]));
b.Add(Convert.ToInt32(darabolt[1]));
c.Add(Convert.ToInt32(darabolt[2]));
}
sr.Close();de ez így nem lesz jó, mert egymáshoz viszonítottan nem tudom a listákat rendezni, legalábbis még nem jöttem rá hogy miként kéne.
Üdv. core2
-
veterán
-
veterán
-
veterán
Sziasztok!
Van egy text fájlom, benne egésztípusú adatok szóközzel elválasztva (a b c alakban melyek összetartozó értékpárok) ezeket beolvasom, feldarabolom, és fel is töltöm vele a megfelelő listákat. Egyetlen kérdésem lenne csupán: Tegyük fel hogy az a adat a listában az év hónapjait jelöli. Miként tudnám az első adat szerint az összetartozó értékpárokat sorrendbe rakni? Merre induljak el? Az OrderBy kell nekem? Megoldható vele?
Köszönöm!
Üdv. core2
-
veterán
Köszönöm mindenkinek a segítséget!
Üdv. core2
-
veterán
-
veterán
-
veterán
-
veterán
Szia!
Persze hogy rossz, túlindexeled a tömböt.
a t[0] rakd ki, hogy mindig az maradjon az értéke, utána pedig 1-tól indítsd a ciklust. Nincs előttem most VS, de ennek így menni kéne elvileg.Megnéztem a kódodat most, s vannak benne érdekességek. tömböt forral az életben nem fogsz tudni feltölteni. While, s int elemszam bevezetése ajánlott véleményem szerint.
Üdv. core2
[ Szerkesztve ]
-
veterán
[ Szerkesztve ]
-
veterán
válasz Peter Kiss #3599 üzenetére
Megy, köszi! Figyelmetlen voltam már megint. (vagy csak túlságosan is reggel van)
Köszönöm!
Üdv. core2
-
veterán
válasz Peter Kiss #3597 üzenetére
Szia!
Az eltolást pontosan így szeretném kivitelezni, hogy index szerint kerüljön az egész adatsor kettővel lejjebb.
Tehát ha a 0. indexen van a meresek tömbben teszem azt egy 5-ös érték, akkor az az ujmeres tömbben legyen a 2. indexhelyen, és onnan kezdődjön az egész adatsor, elé legyen beszúrva egy új sor jel meg az aktuális hónap neve legyen a 0-ik indexen.
Túlindexelem? Miért?
Egy while-al addig töltöm fel adattal amíg az el nem ér a fájl végére, s közben folyamatosan növelem a db értékét. Tökéletesen feltöltődik a tömb, s a végén egy forral kiíratom úgy hogy csak db-ig megyek, mert addig van adat, utána null értékeket ad vissza a tömb.
Üdv. core2
-
veterán
Sziasztok!
Itt a másik tömbbe való eltoláskor van egy kis gondom - ez menne ki később fájlba - a Debug szerint a meresek tömb négy elemét nem adja hozzá az ujmereshez. Gondolom az is jó, hogy db-ig megyek, mert különben rengeteg null érték lenne a listboxban.
Köszi a segítséget!
Üdv. core2
-
veterán
válasz Szabesz #3588 üzenetére
Szia!
Ez egy olyan program lenne ahol az adott hónapot kiválasztva a felhasználó megkapná az adott hónaphoz tartozó adatokat kiíratva a képernyőre, majd ez kiíródna egy fájlba is úgy, hogy a fájl legelső sora a kiválasztott hónap neve lenne.
Fájlból feltöltöttem a tömbömet, majd ezt átraktam egy másik tömbbe, de úgy, hogy már beszúrtam első elemnek a hónap nevét, tehát már így kéne az új tömbbe kerülnie, hogy
nev
ertek1
ertek2...Ehelyett meg nem töltődik fel a tömböm.
A harmadik ciklus meg az új, már jól feltöltött tömböm kiíratására szolgálna, de az nagy valószínűséggel felesleges.Remélem így már érthetőbb.
Üdv. core2
-
veterán
Esetleg ebben még kaphatnék egy kis segítséget?
Az lenne a lényeg, hogy kiválasztok egy hónapot a listából, és az ahhoz tartozó értékeket olvasom be fájlból. Ez idáig megy is, csak be kéne szúrnom a tömb legelső eleme elé a választott hónap nevét. Ezért átraktam egy új tömbbe a régi elemeit a régit is megtartva, ott elcsúsztattam az eredetihez képest, de azt mutatja a debug, hogy nem töltődik fel a második tömb, csak nem igazán veszem észre hogy miért.
Valami segítő ötletetek van-e erre?
Köszi.
Üdv. core2
[ Szerkesztve ]
-
veterán
-
veterán
-
veterán
Sziasztok!
Nagyon hülye kérdés, tudom, de országomat a megfejtésért.
Sima egyszerű átlagszámítós programot akartam írni - ennél jóval nehezebbek sem fogtak ki rajtam - adatfeldolgozás céljából.using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace HatodikFeladat_kesz
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
const int meret = 20;
double[] tombAtlag = new double[meret];
private void buttonOK_Click(object sender, EventArgs e)
{
StreamReader fbe = File.OpenText("atlag.txt");
StreamWriter fki = File.CreateText("jegyek.txt");
for (int i = 0; i < tombAtlag.Length; i++)
{
tombAtlag[i] = Convert.ToDouble(fbe.ReadLine());
listBoxKiSima.Items.Add(tombAtlag[i]);
}
fbe.Close();
}
}
}... és amikor az f.ReadLine-t szeretném a tömbnek megfelelően Double-ba konvertálni, akkor kiakad, hogy "Input string was not in a correct format." de vajh miért? Rosszul konvertálnék?
A fájlban így vannak az adatok pl.:
"2.14
4.14
3.76" tehát direkt ponttal, s nem vesszővel.Üdv. core2
-
veterán
válasz Neil Watts #3191 üzenetére
Megoldva ez is... További jó napot!
MOD: Elnézést, a túl sok egymásutáni hszért.
[ Szerkesztve ]
-
veterán
-
veterán
No, a 2. megoldva.
Az első viszont érdekes.
Hét próbálkozásból kéne kitalálni a számot max, azért raktam be a forba a 7-et.
Nem tudom viszont, hogy miként kéne igazából megoldani az elsőnek ezt a vázolt gondját sajnos. Vagyis tudom -sejtem-, csak ha valami olyan szerkezetet használok amit még nem vettünk akkor nem fogadják el.Üdv. core2
-
veterán
1. OK, tehát a randomszám generálást. Hisz az csak 1x kell.
De ha átpakolom a Loadba, akkor nincs semmi hatása, max annyi, hogy nem fut le a program, mert ugye teljesen jogosan hibaként érzékeli. Akkor mégis hogyan?
2. Na várj, ezt nem értem:
"a kívánt működést megvalósítja ránézésre, de gondolkodj rajta kicsit, és rájössz, hogy nem kell háromszor (kilencszer!) megírni ugyanazt"
Miért? Mindegyik gomb külön kiértékelési rendszerrel rendelkezik, s le kell ellenőriznem mindet.
"továbbá a szövegnek sincs semmi jelentősége a vizsgálatnál (főleg hogy ki sem írod a játékosnak, hogy a gép mit választott)"
Na az igaz...
Üdv. core2
-
veterán
válasz Neil Watts #3185 üzenetére
2. Mégsincs sajnos, még így sem.
-
veterán
-
veterán
Sziasztok!
Az alábbi két feladattal lenne egy kis gondom:
Hibajelenség: Sosem találja el a gondolt számot. Nem értem miért, itt szívok vele egy fél napja. Hibás lenne a gondolatmenetem? O.o
A Kő és az Olló gombok működnek, a Papír nem, pedig centire ugyanaz a kód. Mi lehet a baja?
Köszönöm a segítséget!
Üdv. core2
[ Szerkesztve ]
-
veterán
-
veterán
válasz WonderCSabo #3022 üzenetére
Szia!
Az vele a nagy gondom, hogy a pont elé nem írja ki a hozzátartozó nevet. Ha az if-be írom az úgy nem jó, mert kettőt nem írhatok ki egymás alá (max + min), egy sorba kell.
Az if után nem írhatom, mert akkor nem ír neveket érthető módon.
Az egész cikluson kivülre meg nem írhatom, mert akkor meg hibás lesz.
Üdv. core2
[ Szerkesztve ]
-
veterán
Sziasztok!
Na megoldottam minden felmerülő problémát a programmal kapcsolatban. Már csak egy esztétikai gond van
Itt a kód, már csak azt nem értem, hogy amikor a minimumot és a maximumot keresem akkor hogy tudnám mellé a neveket is kiirni?
Üdv. core2
-
veterán
válasz kingabo #2999 üzenetére
Ez is oké már erre is rájöttem, de akkor a kérdésem annyi, hogy: Ha nincs egymásban a két for akkor hogy íratod ki egymás mellé a listboxba a két változót?
Mert így max az érhető el hogy jönnek a neve, majd utána a pontszámok, nem pedig az, hogy:
[0. Név] [0. Pont]
[1. Név] [1. Pont]Az egymásba ágyazott for ciklus tűnt jó megoldásnak, de mégse' megy.
A szerkesztett részre: Oké, köszönöm a tanácsot, így fogok tenni.
Üdv. core2
[ Szerkesztve ]
-
veterán
válasz kingabo #2995 üzenetére
Oké.
Beolvasom a fájl tartalmát az Ossztombbe.
Majd 0-tól indulva elmegyek kettesével elemszámig.
Ezt beleíratom a Nevek vektorba.Aztán egy másik for-ral - ami 1-től indul - elmegyek ugyancsak elemszámig, kettesével, ezzel rakom bele a pontokat a Pontok vektorba.
Végül még ebben a for ciklusban kiíratom a Nevek-t és a Pontok[j]-t
Tehát értelmezésem szerint, a következő outputnak kéne lenni a két ciklus lefutása után kiíráskor
[0. Név] [0. Pont]
[1. Név] [1. Pont].
.
.
s így végig.Amúgy simán feltölti a vektorokat úgy ahogy -Zeratul- írta, csak épp nem írja ki őket.
Üdv. core2
-
veterán
-
veterán
-
veterán
válasz martonx #2989 üzenetére
Csak
Bővebben: Egy 300 bejegyzést tartalmazó textfilet nem fogok most kezdeni átszerkesztgetni a ha nem gond.
Arra viszont még mindíg nem sikerült rájönnöm hogy miért nem megy, hisz végig kéne mennie mindkét cikluson, maj a másodikban ki kéne írnia a két tömb tartalmát egymás mellé, nem de? Mármint valójában ezt kéne tennie, de mégsem teszi. Már nincs ötletem, hogy mit szúrhattam el De valamit nagyon!
MOD: Amúgy azért, mert egymás mellé kell kerüliük az értékeknek index szerint.
Üdv. core2
[ Szerkesztve ]
-
veterán
Sziasztok!
Van egy kis gondom.
Ez egy olyan program lenne, hogy van nekem egy textfájlom benne nevek és pontok egymás alatt. Na ezt kéne két tömbbe szétválogatni. Próbáltam már sok mindent. Ennél pl az első for nem kap értéket, ne töltődik a tömb.
ha
for (int i = 0; i < elemszam; i+=2)
{
Nevek[i] = Ossztomb[i];
{
for (int j = 1; j < elemszam; j += 2)
{
Pontok[j] = Ossztomb[j];
}
}
}formában írom, akkor meg meghülyül, végtele ciklus szerűséget kapok. Pedig fontos lenne, hogy az indexek megegyezzenek.
Biztos nagyon pici dolog amit nem veszek észre.
Köszi a segítséget! Megyek vissza debuggolni.Üdv. core2
[ Szerkesztve ]
-
veterán
-
veterán
Sziasztok!
Ezt inkább kiraktam pastebinre a hossza miatt: klikk
Szóval a történet a következő... MSDN-t, és C#-os jegyzeteket böngészve, meg logika alapján megpróbáltam egy kis letöltő cuccot összerakni.
Átnéztem, a Letöltés gombar nem csinál semmit, debug módban sem, teljes halál. Már csak arra tudok gondolni, hogy meg kéne cserélnem a szekvencuális végrehajtás miatt a button clickjét a metódussal/osztállyal. Be kéne tolnom az elejére.
Már tényleg nem tudom mi van. Mondom, Debug sem adott semmit.
Üdv. core2
[ Szerkesztve ]
-
veterán
-
veterán
Szia!
Működik már az egész programom, (a felhasználókezelés is) csak azt nem sikerül kivédenem, hogyha rákattintok a Beolvas majd a Lista gombokra akkor ugye kiírja a vektort. No igen, csak ha megint rányomok a Beolvas gombra akkor elszáll túlindexeléssel amit meg is értek, mert nem fér már bele a cucc.
Hogy tudnám azt kikerülni, hogy második üres kattintásnál ne történjen semmi?
-
veterán
válasz Chipi333 #2894 üzenetére
Ó látod milyen figyelmetlen voltam, igazad van, köszönöm! Átnéztem, és ténleg hülyeség volt. Először bele kellett mennem a tömbbe, majd csak utána adhatom át azok értékeit egy másiknak... ááá, már világos, hisz az elemszamot a násik tömbben való számolásra használom!
[ Szerkesztve ]
-
veterán
-
veterán
válasz Neil Watts #2890 üzenetére
ja még annyi hogy a Benevek és a BeAzon tömbben még 25 név van.
-
veterán
Sziasztok!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace tobbVektorBeszurTorol
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string[] Benevek = new string[] {"Hack Elek"};
string[] BeAzon = new string[] {"HackE"};
string[] Nevek = new string[50];
string[] Azon = new string[50];
int elemszam = 0;
//int elemszam_Azon = 0;
private void buttonBeolvas_Click(object sender, EventArgs e)
{
for (int i = 0; i < elemszam; i++)
{
Nevek[elemszam] = Benevek[i];
Azon[elemszam] = BeAzon[i];
elemszam++;
}
buttonLista.Enabled = true;
}
private void buttonLista_Click(object sender, EventArgs e)
{
dataGridViewLista.RowCount = elemszam;
dataGridViewLista.ColumnCount = 3;
dataGridViewLista.RowHeadersWidth = 150;
dataGridViewLista.Columns[0].HeaderCell.Value = "Név";
dataGridViewLista.Columns[0].Width = 200;
dataGridViewLista.Columns[1].HeaderCell.Value = "Felhasználónév";
dataGridViewLista.Columns[1].Width = 200;
dataGridViewLista.Columns[2].HeaderCell.Value = "Rendelési azonosító";
dataGridViewLista.Columns[2].Width = 200;
for (int i = 0; i < elemszam; i++)
{
dataGridViewLista.Rows[i].HeaderCell.Value = (i + 1).ToString() + ". fehasználó";
}
}
}
}Ennek meg mi baja lehet? A dataGridViewLista.RowCount = elemszam; sornál akad ki, csak azt nem tudom, hogy mi a francért. Azt írja, hogy az elemszam 0.
"Value of '0' is not valid for 'RowCount'. 'RowCount' must be greater than or equal to 1.
Parameter name: RowCount"De miért? Hiszen folyamatosan növelem, úgy hogy jó legyen... eh
Üdv. core2
-
veterán
-
veterán
-
veterán
válasz Peter Kiss #2835 üzenetére
ehh, köszi!
Nem írtam át, így félreérthető, de köszi
-
veterán
Sziasztok!
Na, ennek sem kellett volna nekiülnöm kb. 7-kor...
Tudom, nagyon hülye kérdés, de vajh miért nem írja ki azt, hogy hány darab páratlan szám van a kiírásban?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace max4_GYAK
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Random r = new Random();
int[] veletlentar;
/*int elemszam;*/
private void buttonOK_Click(object sender, EventArgs e)
{
if (textBox_veletlenBe.Text != "")
{
int elemszam = Convert.ToInt32(textBox_veletlenBe.Text);
if (elemszam >= 1 && elemszam <= 300)
{
veletlentar = new int[elemszam];
for (int i = 0; i < veletlentar.Length; i++)
{
int veletlen = r.Next(100, 500);
veletlentar[i] = veletlen;
listBox_eredmenyKi.Items.Add(i + ". vektorelem -> "+ veletlentar[i]);
}
}
}
}
private void buttonOKrb_Click(object sender, EventArgs e)
{
if (radioButtonParatlan.Checked)
{
for (int i = 0; i < veletlentar.Length; i++)
{
if (veletlentar[i] % 2 == 0)
{
labelParatlParos.Text = veletlentar[i] + " db páratlan számot sorsolt ki a program";
}
}
}
listBox_eredmenyKi.Items.Clear();
}Köszi a segítséget!
Üdv. core2
-
veterán
Sziasztok!
Debugoltam, s az megmutatta, hogy az if-es résszel van gondja.
A sima, feltöltött tömbből működős az megy, ez a kódja:
private void buttonKezdobetuBeListaz_Click(object sender, EventArgs e)
{
listBoxKezdobetuListazKi.Items.Clear();
string[] nevek = new string[] {"Ajkai Jolán","Báthori Zoltán", "Csángó Cecília", "Daru József"};
char kezdo = Convert.ToChar(textBoxKezdobetuBe.Text);
if (textBoxKezdobetuBe.Text != "")
{
for (int i = 0; i < nevek.Length; i++)
{
if (kezdo == nevek[i][0])
{
listBoxKezdobetuListazKi.Items.Add(nevek[i]);
}
}
}
}Ez, ha beírok egy kezdőbetűt, akkor arra kiadja az összes, olyan kezdőbetűs embert. Van egy tömböm, egy karakter változóm, ami egy textboxból olvas. Ha a textboxban van adat akkor végigszalad egy for-ral a tömbön. ha a karakter változóba vitt adat megegyezik a tömb első karakterével, akkor kiírja a feltételnek megfelelőeket egy listboxba.
Na most ezzel szemben itt van nekem a másik verzió, amikor kintről kell adatot bevinnem. Felvettem egy 50 elemet tartalmazni képes string tömböt ami még most üres, meg egy integer típusú db változót, amivel majd számoltatom, hogy hol is vagyok a tömbben, hanyadik elemnél.
Szóval a következő résznél megadom, hogyha van adat a textBoxNevBeVektor.Text-ben akkor a tömb db-edik eleme legyen mindíg egyenlő textBoxNevBeVektor.Text-tel. Ha le lett okézva, akkor meg menjen tovább a tömbben, s növelje meg az értékét! Tehát ez sem lehet nulla.
Megyek tovább: Ennek a kezdőbetűs részénél felvettem megint egy char változót, aminél megint átkonvertáltam a textBoxKezdoBetuBeVektor.Text-et. Miért is ne, hisz az előbb működött. Szóval ha van a textboxban adat akkor egy for ciklussal végigmegy a nevBe tömbön.
Itt megnézi a kezdovektor char változóm egyenlő-e nevBe db-edik elemének [0] -ik (azaz első) karakterével. ha igen, akkor kiírja a listboxba.
Kérdés: Ennek ellenére miért száll el NullReferenceException was unhandled hibával?
-
veterán
válasz martonx #2768 üzenetére
Mert jelen alkalmazásnál mást nem fogadnak el, nem használhatok mást.
nullreferenceexception was unhandled -del száll el. Ez most azt jelentené hogy valamely vektorom üres? Na de a nevBe kap értéket.
private void buttonOKNevBeVektor_Click(object sender, EventArgs e)
{
textBoxNevBeVektor.Clear();
if (textBoxNevBeVektor.Text != "")
{
nevBe[db] = textBoxNevBeVektor.Text;
db++;
}
} -
veterán
válasz ArchElf #2766 üzenetére
Itt van egy kép a programról: katt
Ha a listázás kezdőbetű szerint-re megyek, s ott nyomom a listáz gombot akkor egy előre meghatározott string vektorból húzza ki az első karakter egyezése esetén a megfelelő nevet - ez megy.
Viszont van a másik amikor saját vektort kell csinálni - ez is megy, csak a kezdőbetű ellenőrzés nem, de nem értem miért. Ugyanazon analógia szerint csinálom mint az előbb, s nem megy semmilyen módon.
Szóval ez ugyanazon textboxba írja ki a bevitt nevet. A többi gombnak nincs most szerepe.
De amúgy db, mert arra külön csináltam egy változót, hogy el tudjam rakni, hogy hol tartok...
Üdv. core2
[ Szerkesztve ]
-
veterán
Sziasztok!
Lehet, hogy már megint én vagyok a figyélmetélén ls/vagy hülye, de:
Van egy ilyen programom:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace nevek_FORM
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string[] nevBe = new string[50];
int db = 0;
private void buttonKezdobetuBeListaz_Click(object sender, EventArgs e)
{
listBoxKezdobetuListazKi.Items.Clear();
string[] nevek = new string[] {"Ajkai Jolán","Báthori Zoltán", "Csángó Cecília", "Daru József"};
char kezdo = Convert.ToChar(textBoxKezdobetuBe.Text);
if (textBoxKezdobetuBe.Text != "")
{
for (int i = 0; i < nevek.Length; i++)
{
if (kezdo == nevek[i][0])
{
listBoxKezdobetuListazKi.Items.Add(nevek[i]);
}
}
}
}
private void buttonOKNevBeVektor_Click(object sender, EventArgs e)
{
textBoxNevBeVektor.Clear();
if (textBoxNevBeVektor.Text != "")
{
nevBe[db] = textBoxNevBeVektor.Text;
db++;
}
}
private void buttonListazNevBeVektor_Click(object sender, EventArgs e)
{
char KezdoVektor = Convert.ToChar(textBoxKezdoBetuBeVektor.Text);
if (textBoxKezdoBetuBeVektor.Text != "")
{
for (int i = 0; i < nevBe.Length; i++)
{
if (KezdoVektor == nevBe[db][0])
{
listBoxKezdobetuListazKi.Items.Add(nevBe[db]);
}
}
}
}Viszont a kezdőbetű vizsgálós téma (buttonListazNevBeVektor_Click) valamiért nem oké. Pedig elviekben minden kap értéket. Üres vektor sincs
Már megint nagyon benéztem valamit?
Üdv. core2
[ Szerkesztve ]
-
veterán
-
veterán
Kedves Topiklakók!
Elfelejtettem írni, de problem solved (aludtam rá egyet) :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace _1_vektor_gyak
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonEgeszKi_Click(object sender, EventArgs e)
{
int[] EgeszTomb = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
for (int i = 0; i < EgeszTomb.Length; i++)
{
listBoxKiiras.Items.Add(EgeszTomb[i]);
}
}
private void buttonValosKi_Click(object sender, EventArgs e)
{
double[] ValosTomb = new double[] { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8 };
for (int i = 0; i < ValosTomb.Length; i++)
{
listBoxKiiras.Items.Add(ValosTomb[i]);
}
}
private void buttonKarakterKi_Click(object sender, EventArgs e)
{
char[] KarakterTomb = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' };
for (int i = 0; i < KarakterTomb.Length; i++)
{
listBoxKiiras.Items.Add(KarakterTomb[i]);
}
}
private void buttonSzovegKi_Click(object sender, EventArgs e)
{
string[] SzovegTomb = new string[] { "egy", "kettő", "három", "négy", "öt", "hat", "hét", "nyolc" };
for (int i = 0; i < SzovegTomb.Length; i++)
{
listBoxKiiras.Items.Add(SzovegTomb[i]);
}
}
private void buttonTorol_Click(object sender, EventArgs e)
{
listBoxKiiras.Items.Clear();
textBoxBevitel.Clear();
}
private void buttonEgeszBe_Click(object sender, EventArgs e)
{
if (textBoxBevitel.Text != "")
{
int ElemSzam = Convert.ToInt32(textBoxBevitel.Text);
Random r = new Random();
int[] EgeszTomb = new int[ElemSzam];
for (int i = 0; i < EgeszTomb.Length; i++)
{
int vel = r.Next(0, 999);
EgeszTomb[i] = vel;
listBoxKiiras.Items.Add(EgeszTomb[i]);
}
}
}
private void buttonValosBe_Click(object sender, EventArgs e)
{
if (textBoxBevitel.Text != "")
{
int ElemSzam = Convert.ToInt32(textBoxBevitel.Text);
Random r = new Random();
double[] ValosTomb = new double[ElemSzam];
int also = 10;
int felso = 50;
for (int i = 0; i < ValosTomb.Length; i++)
{
double vel = also + (felso - also) * r.NextDouble();
ValosTomb[i] = vel;
listBoxKiiras.Items.Add(ValosTomb[i]);
}
}
}
private void buttonKarakterBe_Click(object sender, EventArgs e)
{
if (textBoxBevitel.Text != "")
{
int ElemSzam = Convert.ToInt32(textBoxBevitel.Text);
Random r = new Random();
char[] KarakterTomb = new char[ElemSzam];
for (int i = 0; i < KarakterTomb.Length; i++)
{
int vel = r.Next(0,256);
KarakterTomb[i] = Convert.ToChar(vel);
listBoxKiiras.Items.Add(KarakterTomb[i]);
}
}
}
}
}Működik
-
veterán
válasz Peter Kiss #2742 üzenetére
ööö...
Létrehozok egy char[]-t, aminek az értéke lesz az egesz_be.
Tehát ha mondjuk azt mondom, hogy 10 elemet kérek, akkor az egesz_be = lesz 10-zel, tehát akkor ha azt írnám, hogychar[] karakter = new char[egesz_be];
vagy
char[] karakter = new char[10];
az tök mindegy, mivel a kettő egy és ugyanaz, nem?
Szóval most wtf. Rosszul töltöm fel a chart, most már arra is rájöttem, de most akkor hogy töltsem fel?
-
veterán
Ez a kód hibás, mert túlindexelem a tömböt, még dolgozok rajta
A kód
if (textBox1_adatbe.Text != "")
{
int egesz_be = Convert.ToInt32(textBox1_adatbe.Text);
Random r = new Random();
char[] karakter = new char[egesz_be];
for (int i = 0; i < karakter.Length; i++)
{
char kiir = karakter[egesz_be];
listBox_adat.Items.Add(kiir);
} -
veterán
-
veterán
gyáá...
Szóval a program működése:
Van két groupboxom (Bevitel és kiír).
Bevitelben egy elemszám feliratú label, mellette egy textbox.alatta 3 gomb, rendre:
Egészek, Valósak, Karakterek
Mindegyik gomb randomol egyet attól függően, hogy mekkora az elemszám, annyit írat ki a listboxba.A kíír résznél van öt gomb:
Egészek, Valósak, Karakterek, Szövegek, Töröl
Ezek simán mennek, csak a másik nem. A kiír is működik, csak szerintem nem tömbből, de működik, csak ott a karakteres nem.
MOD: - "int[] egesz = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };" - ez felesleges, az egész számokat a rendszer ismeri és a 10 az nem két karakter, hanem egy szám. hol a 9?
Az előre meghatározott intervallumból dolgozik, azokkal töltöttem fel a tömböt!
Üdv. core2
[ Szerkesztve ]
-
veterán
válasz Peter Kiss #2731 üzenetére
Az ok, ez így működik is, csak éppen a tömbös problémát kerüli meg...
Nekem a tömb nem kell másra, minthogy van egy textboxom (egyik kommentemben benne van a kép) abba beleírók egy X elemszámot (pl. 10) és kiírja a listboxba az X elemszámnyi véletlenszámot/karaktert.
Ez ezzel a kóddal működik is / tömb nélkül nem.
Karakterre sajnos nem megy.Üdv. core2
-
veterán
válasz Peter Kiss #2723 üzenetére
"Ez gyakorlatilag nincs használva:
int[] egesz = new int[egesz_be];"
De van: [link]
Az elgondolásom remélem jó...
-
veterán
-
veterán
Nakérem, haladtam a programmal:
Itt a teljes kód (már csak a karakterest kell megoldanom):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace _1_vektor
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button_egesz_ki_Click(object sender, EventArgs e)
{
int[] egesz = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
for (int i = 0; i < egesz.Length; i++)
{
listBox_adat.Items.Add(egesz[i]);
}
}
private void button_valos_ki_Click(object sender, EventArgs e)
{
double[] valos = new double[] { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8 };
for (int i = 0; i < valos.Length; i++)
{
listBox_adat.Items.Add(valos[i]);
}
}
private void button_karakter_ki_Click(object sender, EventArgs e)
{
char[] karakter = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' };
for (int i = 0; i < karakter.Length; i++)
{
listBox_adat.Items.Add(karakter[i]);
}
}
private void button_szovegek_ki_Click(object sender, EventArgs e)
{
string[] szoveg = new string[] { "egy", "kettő", "három", "négy", "öt", "hat", "hét", "nyolc" };
for (int i = 0; i < szoveg.Length; i++)
{
listBox_adat.Items.Add(szoveg[i]);
}
}
private void button_del_Click(object sender, EventArgs e)
{
listBox_adat.Items.Clear();
}
private void button_egesz_be_Click(object sender, EventArgs e)
{
if (textBox1_adatbe.Text != "")
{
int egesz_be = Convert.ToInt32(textBox1_adatbe.Text);
Random r = new Random();
int[] egesz = new int[egesz_be];
for (int i = 0; i < egesz.Length; i++)
{
egesz_be = r.Next(10, 100);
listBox_adat.Items.Add(egesz_be);
}
}
}
private void button_valos_be_Click(object sender, EventArgs e)
{
if (textBox1_adatbe.Text != "")
{
int egesz_be = Convert.ToInt32(textBox1_adatbe.Text);
int also = 10,
felso = 50;
Random r = new Random();
double[] valos = new double[egesz_be];
for (int i = 0; i < valos.Length; i++)
{
double valos_ki = also + (felso - also) * r.NextDouble();
listBox_adat.Items.Add(valos_ki);
}
}
}
private void button_karakter_be_Click(object sender, EventArgs e)
{
}
}
}Szóval: A gombokat megnyomva a létrehozott vektorokból (vagy külső adat alapján - elemszám) kinyeri az adatot, és kiírja.
Arra lennék kíváncsi, hogy az elgondolásom helyes-e?
MOD: Uhh, legközelebb pastebinre megy
Üdv. core2
[ Szerkesztve ]
-
veterán
-
veterán
Sziasztok!
Lesz most szerintem egy nagyon noob kérdésem:
Hogy tudok C#-ban intervallumból valós véletlen számot generálni?
int also = 10;
int felso = 50;
Random r = new Random();
double kiir = also + (also - felso) * r.NextDouble();
listBox1.Items.Add(kiir);Itt valamit nagyon elneztem szerintem, mert atmegy negativba is.
Koszi a segitseget!
MOD: ó, megvan!
Udv. core2
[ Szerkesztve ]
-
veterán
lol.
ennek meg mi baja lehet?using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace szervusz
{
class Program
{
static void Main(string[] args)
{
var a = "";
var b = "";
Console.WriteLine("Mondj egy szamot!");
Console.WriteLine(a);
Console.ReadKey();
Console.WriteLine("Mondj megegy szamot!");
Console.WriteLine(b);
Console.ReadKey();
Console.WriteLine("Osszeadtam oket");
Console.WriteLine(a + b);
Console.ReadLine();
}
}
}Mindent megcsinal, csak nem irja ki a es b erteket vagyis nem latom. Hogy tudnam megakasztani?
Udv. core2
[ Szerkesztve ]
-
veterán
-
veterán
-
veterán
-
veterán
válasz Neil Watts #1693 üzenetére
Na meg egy erdekes dolog, aztan befejeztem mara.
Ha volt egy valtozom string-kent, de azt megvaltoztatom int-re akkor ezt kapom hibakent:Cannot implicitly convert type 'string' to 'int'
Erre kisutottem egy kis Googlezas utan egy ilyet:
int s = "";
Convert.ToInt32(s);Mit cseszhetek el?
Valami nagyon apro dolog (bar lehet, hogy joval nagyobb), gondolom. (amit persze nem veszek eszre).Udv. core2
[ Szerkesztve ]
-
veterán
-
veterán
válasz Neil Watts #1690 üzenetére
lol.
ugy nez ki, erre is kezdek rajonni -
veterán
most a Pascalos programjaimat probalom atirni, csak meg nem ertem nagyon a valtozokat :/
peldaul ez van Pascalban:
program hello;
var
s:string;
begin
writeln('Mit írjak ki?');
readln(s);
writeln(s);
readln;
end.es ezt alkottam (ehhh... azert ez eros igy ~2,5 ora utan ) C#-ban:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace szervusz
{
class Program
{
static void Main(string[] args)
{
string s = "";
Console.WriteLine("Mit írjak ki?");
Console.ReadLine(s);
Console.WriteLine(s);
Console.ReadLine("");
}
}
}[/M]Most itt string vagy var vagy mi kell? Bar itt a ReadLine-os sorokra panaszkodik :/
Nem kell rogton a megoldas, abbol nem tanul az emberJo iranyba indultam el egyebkent?
Udv. core2
-
veterán
válasz Neil Watts #1687 üzenetére
MOD:
Kozben turom a Googlet/MSDN/Technetet, ejj de jokat talalok!
Hat ilyen osszeszedett dokumentaciot/peldafeledatokat nem nagyon talaltam mas nyelveknel -
veterán
Sziasztok!
Ugyerzem lassan meg kene tanulnom valamennyire C#-ul, mert igen csak jo fejlesztoeszkozok vannak hozza, es egesz ertheto a megirt kod (ne rohogjetek legyszives: eddig meg egy HelloWorld-ot neztem, az is sokkal erthetobb mint C++-ban. )
Szoval. Eddig alapszinten Pascaloztam es C++-oztam, de ugyerzem mast is ki kene probalnom. Nem szeretnek most tobbezerert konyvet venni, tehat kernem a topik lakoit, hogy ajanljanak szerencsetlen kezdonek valami hasznalhato dokumentaciot/peldafeladatokat/ebookot/stb.
Koszonom segitsegeteket!
Udv. core2
Ú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!
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Futás, futópályák
- Windows 11 - HP Pavilion – 15 cc516nh (2LE41EA) laptopon Intel I3-7100U TPM2.0
- Path of Exile 2
- Apple asztali gépek
- De mennyi az annyi?
- Kémia topic
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Szólánc.
- További aktív témák...
- AKCIÓ!!! GAMER PC: RYZEN 9 5900X + RTX 3060 12GB GDDR6! GARANCIA/SZÁMLA!!!
- BONTATLAN Új Iphone 16 PRO 128Gb - 1TB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- BONTATLAN Új iPhone 16 PRO MAX 256-512GGB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- Tamron SP 70-200mm f/2.8 Di VC USD G2 objektív ( Nikon )
- Azta! Yoga Slim 7 Prémium Ultrabook 14,5" -40% AMD Ryzen 5 7640S 16/512 RADEON 760M 2GB 2,9K OLED
Állásajánlatok
Cég: Axon Labs Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest