Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 15 odgovora
  • 4.414 pregleda

Najnovija ↓

Parsiranje ulaza (C#) 23.12.2007. u 20:10 · pre 229 meseci #1
Dakle, igram se sa Javom i .NOT znam samo površno, toliko da ne znam ni kako da pročitam neki ulaz :)

Radi se o tome da na takmičenjima iz informatike često bude dat neki ulaz iz fajla ili konzole, tipa
N
a b c d
broj broj string
broj broj string
...

E sad u Javi postoji Scanner za pojednostavljenje čitanja takvih ulaza i za one koji ne znaju on ima metode nextInt, nextLine, setDelimiter itd.

Pitam se kako se to radi u .NET-u, odnosno C#?

Do sada sam problem rešavao tako što čitam liniju po liniju sa Console.ReadLine() pa onda Split() međutim ne sviđa mi se to riješenje, jer smara, a i Split može da razdvaja samo po karakteru, a šta ako nekad treba po nekom stringu...

Eto ljudi moji, pozdrav!
Potpis
Programeri su odgovorili na Hamletovo pitanje "Biti il ne biti?" :
0x2B | ~0x2B = 0xFF
(kao ono - ff - teško pitanje!)
Re: Parsiranje ulaza (C#) 24.12.2007. u 22:25 · pre 229 meseci #2
Nije valjda da ni među silnim dodacima u .NET 3.5 nema nečeg ovakvog?
Potpis
Programeri su odgovorili na Hamletovo pitanje "Biti il ne biti?" :
0x2B | ~0x2B = 0xFF
(kao ono - ff - teško pitanje!)
Re: Parsiranje ulaza (C#) 25.12.2007. u 00:43 · pre 229 meseci #3
Ja koliko znam ne postoji verzija skenera za .NET
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: Parsiranje ulaza (C#) 25.12.2007. u 09:11 · pre 229 meseci #4
Ma uredu je meni sto nema bas Scanner, ali ima li nesto barem slicno,
kao scanf ili ??? Mislim scanf u Javi nije moguc, dok u C# moze zbog
out i ref parametara :( Bas steta ako ga nema.
Potpis
Programeri su odgovorili na Hamletovo pitanje "Biti il ne biti?" :
0x2B | ~0x2B = 0xFF
(kao ono - ff - teško pitanje!)
Re: Parsiranje ulaza (C#) 31.12.2007. u 09:22 · pre 229 meseci #5
Ne postoji verzija Scaner u C#.......
Da procitas ulaz u C# treba ti System.Console.ReadLine() .....a za ispis System.Console.WriteLine() ili samo Write() ako hoces u jednom redu.......

Nadam se da ti je donekle pomoglo ovo ako imas jos pitanja posalji pm........

Pozz ....
Re: Parsiranje ulaza (C#) 31.12.2007. u 09:51 · pre 229 meseci #6
Covek je vec rekao da mu Console.ReadLine ne odgovara kao resenje.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: Parsiranje ulaza (C#) 02.01.2008. u 14:23 · pre 229 meseci #7
Citat:
toroman: a i Split može da razdvaja samo po karakteru, a šta ako nekad treba po nekom stringu...

Verovatno ti ne pomaze narocito, ali moze Split po String-u.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Parsiranje ulaza (C#) 02.01.2008. u 15:16 · pre 229 meseci #8
System.IO.StreamReader
Potpis
Every hamster has his day.
Re: Parsiranje ulaza (C#) 02.01.2008. u 17:42 · pre 229 meseci
izmenjeno 1 put, poslednji put Shadowed 02.01.2008. u 22:41
  1. Shadowed02.01.2008. u 22:41zapis iz teksta poruke
#9
Inace ne vidim razlog za scanner u .net-u, jer ako su parametri odvojeni spejsom i redosled je odredjen, string.split i valuetype.parse zavrsice posao.

[Obrisan deo koji se odnosi na obrisanu poruku.]
Re: Parsiranje ulaza (C#) 02.01.2008. u 22:08 · pre 229 meseci #10
Jel' toliko teško da se otvori nova tema?

Stvarno bruka ovaj C#. A i taj Split sa stringom ne znam baš kako ide, gledao sam prototipove, ima ih 6 i ono, nije mi baš očigledno, može neki primer Shadowed?

Potpis
Programeri su odgovorili na Hamletovo pitanje "Biti il ne biti?" :
0x2B | ~0x2B = 0xFF
(kao ono - ff - teško pitanje!)
Re: Parsiranje ulaza (C#) 02.01.2008. u 22:27 · pre 229 meseci #11
Sto bruka, jer ne dobijas bash sve na tacni ;)
Pa recimo da imas format ulaza kao int-kalauz-decimal-kalauz-string (12kalauz3.14kaluzDjura):
Code:

string[] parms ;
int i;
decimal d;
string s;

parms = inputLine.Parse("kalauz");
i = Int32.Parse(parms[0]);
d = Decimal.Parse(parms[1]);
s = parms[2];


Re: Parsiranje ulaza (C#) 02.01.2008. u 22:46 · pre 229 meseci #12
Pa ne da ne dobijam na tacni, nego da ne uvredim nikog, ne dobijam ništa.

Šta je ovo inputLine.Parse ? Ako misliš na Split, to ti neće proći.

Svejedno opet treba neki scanner ili sličan objekat. Nadam se da ova klasa što je kolega dade može nešto da pomogne...
Potpis
Programeri su odgovorili na Hamletovo pitanje "Biti il ne biti?" :
0x2B | ~0x2B = 0xFF
(kao ono - ff - teško pitanje!)
Re: Parsiranje ulaza (C#) 02.01.2008. u 23:09 · pre 229 meseci
izmenjeno 1 put, poslednji put Shadowed 02.01.2008. u 23:24
  1. Shadowed02.01.2008. u 23:24zapis iz teksta poruke
#13
Citat:
toroman: Stvarno bruka ovaj C#. A i taj Split sa stringom ne znam baš kako ide, gledao sam prototipove, ima ih 6 i ono, nije mi baš očigledno, može neki primer Shadowed?

Code:

string Source = "part1][part2][part3";
string[] Separator = { "][" };
string[] Parts = Source.Split(Separator, System.StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < Parts.Length; i++) {
    MessageBox.Show(Parts[i]);
}


Edit: Length umesto Count.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Parsiranje ulaza (C#) 02.01.2008. u 23:13 · pre 229 meseci #14
Joj mrak mi pade na oci od ovoga... Hvala u svakom slucaju.
Potpis
Programeri su odgovorili na Hamletovo pitanje "Biti il ne biti?" :
0x2B | ~0x2B = 0xFF
(kao ono - ff - teško pitanje!)
Re: Parsiranje ulaza (C#) 02.01.2008. u 23:25 · pre 229 meseci #15
Btw, ako radis sa .net Framework 3.5 mozes da napravis Extended method koji prihvata samo jedan String umesto niza.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Parsiranje ulaza (C#) 02.01.2008. u 23:33 · pre 229 meseci #16
Extra, to su "pozajmili" iz AspectJ-a ;)

Doobro, ono, jest' dugačko ali radi. Ipak moram da nastavim potragu za nečim praktičnijim, za takmičenja... Scannerrrrr :)
Potpis
Programeri su odgovorili na Hamletovo pitanje "Biti il ne biti?" :
0x2B | ~0x2B = 0xFF
(kao ono - ff - teško pitanje!)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme