• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie Polski Spoj - Parzyste Nieparzyste

Object Storage Arubacloud
0 głosów
194 wizyt
pytanie zadane 22 lutego 2023 w C# przez kubaq22 Nowicjusz (120 p.)

Cześć, może ktoś rzucić okiem, gdzie jest błąd? Wyniki wychodzą poprawne, jednak na Spoju wyskakuje komunikat "Błędne rozwiązanie". 

using System;

namespace ParzysteNieparzyste
{
    class Program
    {
        static void Main()
        {
            int t = int.Parse(Console.ReadLine());
            for (int i = 0; i < t; i++)
            {
                string wynikParzyste = "";
                string wynikNieParzyste = "";
                string dane = Console.ReadLine();
                string[] tablica = dane.Split(" ");
                int n = int.Parse(tablica[0]);
                if ((n != tablica.Length-1) || (n > 100)) { return; }
                for (int j = 1; j < tablica.Length; j++)
                {
                    if (j % 2 == 0) { wynikParzyste += tablica[j] + " "; }
                    else { wynikNieParzyste += tablica[j] + " "; }
                }
                string wynik = wynikParzyste + wynikNieParzyste;
                wynik = wynik.Remove(wynik.Length-1, 1);
                Console.WriteLine(wynik);
            }

        }
    }
}

Z góry dziękuję za odpowiedź

1 odpowiedź

0 głosów
odpowiedź 22 lutego 2023 przez alpha.netrunner Gaduła (4,690 p.)

W linii 11, warunek w instrukcji if jest niepoprawny. Powinno być:

if ((n != tablica.Length-1) || (n > 100)) { continue; }

Zamiast return, użyj continue, ponieważ return kończy działanie funkcji Main(), a program ma działać dalej dla kolejnych testów.

komentarz 22 lutego 2023 przez kubaq22 Nowicjusz (120 p.)

Polecenie jest takie:

Wczytaj ciąg liczb. Następnie wypisz wczytane liczby w taki sposób, aby najpierw pojawiły się te, które wystąpiły na pozycjach parzystych, a następnie te, które wystąpiły na pozycjach nieparzystych; z zachowaniem pierwotnej kolejności w obrębie obu grup. Numerujemy od 1.

Wejście

Najpierw t - liczba testów. Następnie dla każdego testu liczba n i n liczb, n <= 100.

Wyjście

Dla każdego testu n liczb w opisanym porządku.

 

To miał być warunek, który miał zwrócić return, gdy n > 100 lub gdy użytkownik poda inną ilość liczb niż wynosi n.

Spróbowałem w ten sposób ale dalej wynik to błędne rozwiązanie 

 

using System;

namespace ParzysteNieparzyste
{
    class Program
    {
        static void Main()
        {
            int t = int.Parse(Console.ReadLine());
            for (int i = 0; i < t; i++)
            {
                string wynikParzyste = "";
                string wynikNieParzyste = "";
                string dane = Console.ReadLine();
                string[] tablica = dane.Split(" ");
                int n = int.Parse(tablica[0]);
                if ((n == tablica.Length-1) && (n <= 100))
                {
                    for (int j = 1; j < tablica.Length; j++)
                    {
                        if (j % 2 == 0) { wynikParzyste += tablica[j] + " "; }
                        else { wynikNieParzyste += tablica[j] + " "; }
                    }
                    string wynik = wynikParzyste + wynikNieParzyste;
                    wynik = wynik.Remove(wynik.Length - 1, 1);
                    Console.WriteLine(wynik);
                }
            }

        }
    }
}

 

komentarz 22 lutego 2023 przez alpha.netrunner Gaduła (4,690 p.)
using System;

namespace ParzysteNieparzyste
{
    class Program
    {
        static void Main()
        {
            int t = int.Parse(Console.ReadLine());
            for (int i = 0; i < t; i++)
            {
                string wynikParzyste = "";
                string wynikNieParzyste = "";
                string dane = Console.ReadLine();
                string[] tablica = dane.Split(" ");
                int n = int.Parse(tablica[0]);
                if (n == tablica.Length - 2 && n <= 100)
                {
                    for (int j = 1; j < tablica.Length; j++)
                    {
                        if (j % 2 == 0) { wynikParzyste += tablica[j] + " "; }
                        else { wynikNieParzyste += tablica[j] + " "; }
                    }
                    string wynik = wynikParzyste + wynikNieParzyste;
                    wynik = wynik.Remove(wynik.Length - 1, 1);
                    Console.WriteLine(wynik);
                }
            }
        }
    }
}

 

Podobne pytania

0 głosów
1 odpowiedź 269 wizyt
pytanie zadane 24 marca 2020 w C i C++ przez lukasz07it Początkujący (290 p.)
0 głosów
1 odpowiedź 1,758 wizyt
pytanie zadane 3 kwietnia 2019 w Python przez matiasPython Nowicjusz (120 p.)
0 głosów
1 odpowiedź 313 wizyt
pytanie zadane 17 czerwca 2018 w SPOJ przez karmel222 Nowicjusz (200 p.)

92,537 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...