1 / 20
Aug 2017

Widzę, że jeszcze nie ma takiego wątku co mnie trochę dziwi, otóż...
mam za wolny program. (Przekroczono limit czasu).
Zadanie: http://pl.spoj.com/problems/MWP4_3C/28
kod : <=tutaj był kod =>
Zrobiłem printfy i scanfy oprócz samego pobierania tekstu.
chciałem również użyć sync_with_studio(false) ale wtedy program zwraca błędną odpowiedź.

Co mogę z tym zrobić? Mógłby ktoś pomóc?

PS
Próbowałem pobieranie tekstu też zrobić za pomocą scanfa, ale rezerwować tablicę charow[1000] to duża strata pamięci oraz czasu gdyż pętla się wykonywałaby 1000 razy. (Aczkolwiek wywalało mi tu jakiś błąd, więc tak czy owak nie działało).
Pobieranie znak po znaku wywala mi liczbę "0" nie wiem czemu.
Wpisuję np. 2 testy i wtedy mi wyświetla "0" a później działa już w porządku...
wygląda to mniej więcej tak
Input:
2
CDAWX
ADFHC

Output:
0
11
12

Porównam tylko mój i Twój kod. Ty zrobisz z tym co zechcesz :slight_smile:
1. Ty wczytujesz a potem przetwarzasz całe ciągi znaków, a ja działam znak po znaku
2. Ty używasz cin, a ja scanf, printf, getchar
3. Mój kod ma AC, a Twój nie. Wg mnie tyle :wink:

cin używam tylko w jednym miejscu.
gdy używam getchara to mi wyskakuje dodatkowe "0" na outpucie nie wiadomo skąd.

Przykład z getchar :
I tutaj był kod =>

wiele lat programuję w C++ i nie widzę gdzie tu strata czasu i pamięci - czy może o czyś nie wiem ?

a nawet gdyby strata pamięci była, to jakie ma znaczenie zajęcie nawet 1 MB pamięci więcej, gdy masz dostępne 1,5 GB ?

a że dostawałeś błąd - to nic niezwykłego, skoro niedokładnie przeczytałeś treść zadania

mieszanie scanf() i cin to nie jest dobry pomysł

jak to nie wiadomo skąd ? - jaki jest pierwszy znak po wczytaniu przez scanf("%d", &t) ?

<==Kod i tu ==>
Tutaj np. też mam te dziadowskie zero...

Nie wiem Mariusz...
To jest te dodatkowe zero co oznacza kiedy (np. napis) się kończy?
Jak je w takim razie zignorować?

no nie, po przeczytaniu tego najpierw osłupiałem, potem osiwiałem a na koniec włosy mi wypadły i dalej jestem w szoku :slight_smile:

czy naprawdę nie przeczytałeś żadnego podręcznika C/C++ ? nic o wczytywaniu poprzez scanf() ?

ponieważ nie zajmuję się uczeniem programowania, odpowiedzi musisz poszukać gdzieś indziej

8 months later


Dla testów działa poprawnie lecz sędzia odrzuca chciałbym się dowiedzieć co jest nie tak. Dziękuję.

Masz błąd np dla testu:

2
ABCDEFGHIJKLMNOPQRSTUWXZY
AAAASSSSSSSSSSSSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

Pytanie a V należy do tych znaków??
Jaka powinna być odpowiedź do tych testów co podałeś?

masz błąd generalny :slight_smile: - czyli dla każdego testu, sprawdź działanie programu na ideone.com7 lub we właściwy sposób, czyli nie z konsoli a z przekierowaniem wejścia na plik z danymi

Generalny znaczy, że źle zrozumiana w ogóle treść zadania czy przeoczenie czegoś?

A muszę z na ideone to sprawdzić? Nie da się samemu testu w konsoli wymyślić? BTW to jakie są rozwiązania do tych przykładów co podałeś? :slight_smile:

przecież na tym polega problem - sędzia nie sprawdza z konsoli, a z przekierowanym wejściem i wyjściem

8 months later

Hejka.
Dostaję błędną odpowiedz. Proszę o wytknięcie mi jakiegoś błędu który zrobiłem lub danie jakiegoś testu w którym mój program daje błędną odpowiedz . Kod : https://ideone.com/OvP07p22 . Dziękuję.

5 years later

Witam.

Kolejny raz skończyły mi się pomysły co może być nie tak. Nie potrafię znaleźć testu dla którego program daje błędny wynik. Prośba o wsparcie.

Pozdrawiam,
Marek.

EDIT: Znalazłem błąd. Niepotrzebnie zawracałem gitarę. :wink: Ale i tak dziękuję, forum jeszcze nigdy nie okazało się bezradne :wink: