Problem

O kom takmičenju se radi?

Svako takmičenje, konkretno prethodno takmičenje iz drugog kruga kvalifikacija

Poruka:

Pozdrav. Imam problem što se tiče inputa kod vašeg testiranja ‘‘Test primera’’.
Problem je u tome što ja pišem kod u C# i kada se u isti red smesti više brojeva koje treba da svrstam u neki niz, ja nemam (barem ja do sada nisam pronašao drugi način) rešenje da to uradim sem da to najpre skladištim u string, pa nakon toga da napravim array koristeći metodu string.Split(’ '). Dakle, svaka praznina u ‘‘Test primerima’’ govori mom programu da treba da podeli taj string na tom delu.

E sada, problem nastaje u tome što forma test primera nije kod svakog ista. To jest, postoje dva slučaja:

  1. Zadnji karakter bude broj, pri pokretanju mog programa ne desi se nikakva greška
  2. Zadnji karakter bude razmak (a broj se nalazi na predzadnjem mestu), pa zbog toga moj program izbaci grešku:
    System.FormatException: Input string was not in a correct format.
    Ova greška je nastala jer je moj program prepoznao prazninu (’ '), pokušao da splituje string, međutim, to nije bilo moguće jer u ostatak stringa nije moglo ništa da se skladišti.

Postoji li mogućnost da se u test primerima koristi samo prvi slučaj, a ne nasumično, jer to izaziva zbrku u mom programu. Hvala!

Ako sam dobro shvatio problem, mislim da bi mogao da se reši i jednostavnim uklanjanjem praznih karaktera s početka i kraja unosa ugrađenom metodom String.Trim, odnosno:

List<int> brojevi = new List<int>();
string[] uneseniBrojevi = Console.ReadLine().Trim().Split(' ');
foreach (string uneseniBroj in uneseniBrojevi)
{
    brojevi.Add(int.Parse(uneseniBroj));
}
1 Like

Svi test primeri na kojima se boduje moraju da budu identičnog formata kao i “vidljivi” test primeri iz teksta zadatka (za koje takmičari mogu da vide rezultat izvršavanja).

Ako se desi da nije tako (kao što se desilo u prethodnoj rundi), onda je to greška komisije. Takvi test primeri se onda isprave da budu identičnog formata kao i “vidljivi” primeri, i svim takmičarima se testira ponovo na ispravljenim test primerima. (U konkretnom slučaju prethodne runde, uklonjeni su razmaci sa kraja i svima je ponovo testirano)