4 / 16
Feb 2017

Witam. Nie wiem dlaczego sędzia nie akceptuje mojego kodu. U mnie działa poprawnie. Prosze o pomoc. Pozdrawiam.

Example:
Wejście:
3
pierwszy
lubiec
ktotozrobi

Output:
pier
lub
ktoto

///////KOD//////

include <iostream
include <conio.h
include <cstdlib
include <string

using namespace std;

int main()
{
int t;
cin>>t;
string x;
int l;
for(int i=0; i<t; i++)
{
cin>>x;
l=x.length()/2;
cout<<x.substr(0, l)<<endl;
}
return 0;
}

  • created

    Nov '16
  • last reply

    Mar '20
  • 15

    replies

  • 2.2k

    views

  • 11

    users

  • 6

    links

kod przekazujemy jako link do ideone.com35

nie ginie wtedy formatowanie, ani niektóre znaki

jak masz błąd kompilacji to kliknij na "błąd kompilacji" i przeczytaj dlaczego się nie kompiluje - zaoszczędzisz czas swój i mój :slight_smile:

3 months later
1 year later

Witam, bez robienia nowego tematu ideon wyrzuca poprawne dane a uparty spoj niechce przyjac tutaj kod:
//kod usuniety

A nie musiało, bo jeszcze 1 na 2 trzebaby zmienić :wink:

7 months later

Szanowni Panstwo,

prosze o chwile waszego cennego czasu, potrzebuje pomocy z tym, jakze banalnym zadaniem.

W kodzie zamiescilem 2x if poniewaz myslalem ze jest to kwestia zaokragleni stringa nieparzystego, natomiast wciaz mam bledna odpowiedz. Ideone nie zwraca bledow.

Z gory dziekuje!

Po usunięciu ifów sprawdzających poprawność danych testowych Twój kod przechodzi. Po co w ogóle je dodawałeś? To autor ma zagwarantować poprawność danych, a nie Ty. W tym wypadku nie zrozumiałeś dokładnie treści zadania (2*k (1<=k<=1000)), a niedodanie ifów sprawiłoby, że kod by przeszedł.

Jeśli nie możesz się powstrzymać, to dawaj chociaż jako argument exit inną liczbę niż 0, dostaniesz wtedy6 błąd wykonania (NZEC), a nie błędną odpowiedź i będziesz wiedział, o co chodzi.

Po usunięciu błędnego warunku przechodzi - a nie powinno - u mnie by nie przeszło :slight_smile:
wyjście jest bowiem nieco inne niż powinno być

@eksekk
linijce wejścia znajduje się jedna liczba całkowita t (1<=t<=100). Każdy wiersz o numerze od 2 do t+1, zawiera ciąg długości 2*k (1<=k<=1000).

Przepraszam eksekk, ale nie rozumiem dlaczego moje if’y sa problemem.
if(il < 1 || il>100) {System.exit(0);} - jezeli (wprowadzona) liczba bedzie mniejsza od 1 lub wieksza od sto, to zamknij aplikacje. // Czy ja to zle rozumiem ?

System.exit - zamknij program. Czy numer w (); to nie jest tylko referencja do debugowania I nic nie znaczy (za wyjatkiem 0, gdzie okreslam ze zamkniecie program jest prawidlowe, a w moim rozumieniu tak, bo warunki nie byly spelnione)?

Tamte pozostale 2 ify byly faktycznie zbedne, tutaj sie zgodze bardzo dziekuje!

Mariusz wspomnial ze wyjscie jest inne niz powinno byc. tzn ze moj kod dalej ma blad? Przeciez pokazuje polowe tekstu zgodnie z zalozeniem zadania. Co jeszcze jest nie tak?
Bardzo dziekuje wam za pomoc.

Pozdrawiam,

W Twoim kodzie trzeba poprawić 2 rzeczy:

po pierwsze przetestuj swój kod na ideone (ale koniecznie po wciśnięciu edytuj) i zobacz jaki jest output
po drugie zastanów się nad swoją pętlą
po poprawieniu tych 2 rzeczy dostałem AC Twoim kodem

Ponadto w swoim kodzie nie potrzebujesz ani jednego ifa. Ten if: if(il < 1 || il>100) {System.exit(0);}
jest niepotrzebny bo zakres jest podany w treści zadania tylko po to żeby umożliwić Ci dobór odpowiedniego typu zmiennej
Autor zadania gwarantuje że w testach nie będzie liczby spoza tego zakresu.

1 year later

Sprawdzałaś jaki wynik podaje Twój program dla testu opisanego w treści zadania? Wygląda na to, że brakuje odstępu (na przykład znaku nowej linii) pomiędzy wynikami poszczególnych przypadków testowych.

Dokładnie tak :slight_smile: . Pod dodaniu znaku końca linii przechodzi na SPOJ-u.
Wniosek jest prosty: nie zrobiłaś podstawowej czynności - nie przetestowałaś swojego rozwiązania na Ideone (gdbyś testowała nie dałoby się niezauważyć braku znaku nowej linii pomiędzy kolejnymi rozwiązaniami), co jest dziwne, bo dałaś przecież link do tego zadania na Ideone.