21 / 42
Jun 2017

Na ideone można i należy też [dodatkowo] wklejać testy [w okienko stdin] i testować. Gdy tylko to zrobisz i porównasz swój output z przykładem natychmiast zobaczysz swój błąd.

1 month later

Odpowiedź na twoje pytanie była już udzielana na tym forum dziesiątki razy - weź podręcznik C/C++ i przeczytaj rozdział o tablicach

1 month later

Mam taki kod i nie wiem co jest nie tak.Wywala błąd w SPOJu. Jednak działa na moich przykładach.

Pisze mi tak w programie do testów: Standard input is empty. I czemu tak? Czyżbym miał zrobić dynamiczną alokacje tablicy?

mogę coś, albo coś innego - ale to co ja mogę, to raczej nie rozwiąże twoje problemu

generalnie to:

  1. pytanie powinno być postawione w sposób jednoznaczny
  2. wskazane jest przekazywanie kodu poprzez ideone.com1 - nie ginie formatowanie kodu ani jego fragmenty

a jeżeli chodzi o twój problem, to na tym forum można znaleźć informację (by narbej), co może powodować błąd SIGABRT - po usunięciu tego błędu będzie AC, usuń też twoje rozwiązanie z forum

Nie można było powiedzieć że to w tablicy trzeba przesunąć a nie na ekranie w lewo?

Nie udzielam rad, jak zrobić - co najwyżej, że należy zrobić inaczej :slight_smile:

aby przetestować działanie na ideone, należy w okienku dane wejściowe wpisać dane testowe
przykład dla prostych danych5

oczywiście nie działa to poprawnie :slight_smile:

Samą tablicę możesz przesuwać, ale nie musisz tego robić. Ostatecznie w zadaniu masz wypisać na wyjście (“ekran”) przesunięte wartości, tak jak w przykładzie pod zadaniem.

1 month later

Mam taki kod i dupa. Co jest nie tak ? Ktoś help me?

PTROL - ROL

pomijając formatowanie i nadmiar niepotrzebnych rzeczy to po usunięciu jednej linijki daje poprawny wynik

jak już znajdziesz tę zbędną linijkę to sprawdź w jakimś podręczniku (a nie w kursie video), kiedy ta linijka jest potrzebna a kiedy nie i dlaczego.

Witam,
mam pytanie dotyczące tego zadania.
W wyniku nie cofa mi do pierwszego elementu, tylko wyświetla 0.
To znaczy:
Wejście: 7 1 2 3 4 5 6 7
Wyjście: 2 3 4 5 6 7 0
Wejście: 3 1 2 10
Wyjście: 2 10 0

–Edit–
tu był kod na ideone.
–Edit–

Z góry dziękuję bardzo za podpowiedź.

Jesteś na tyle blisko AC, że usuń swój kod z forum.

  1. Zmniejsz ilość elementów analizowanych przez pętle tak, aby nie wyświetlało się zero
  2. Poza pętlą wyświetl pierwszy element tablicy
  3. Zastanów się dlaczego to działa
  4. Dopiero potem ciesz się zasłużonym AC, bo właśnie sprawdziłem, że po tych poprawkach Twój kod dostaje AC :slight_smile:

tarpauwatratar - bardzo Tobie dziękuję za cenne wskazówki.
Po tym co napisałeś od razu wydało mi się oczywiste, że powinienem w analizie pomijać element 0 w tablicy, bo on nie będzie przesuwany o jedno miejsce, tylko zawsze wyświetlany na końcu, stąd sensownym wydaje się wyświetlenie go właśnie za pętlą przesuwającą elementy w prawo.

Raz jeszcze BARDZO dziękuję za podpowiedź.

Nie mam pojęcia o co chodzi która linijka itd. Kod działa a go nie akceptuje. Teraz przestawiłem tylko cyferkę w tablicy i nadal nie chce go zaakceptować.

wobec tego usunąłeś przypadkowo właściwą, powodującą błąd linijkę :slight_smile:

obejrzyj gdzieś (oczywiście najlepiej na ideone.com3) wynik twojego programu - to zobaczysz, dlaczego sędzia go nie akceptuje

2 months later
#include <stdio.h>


int main()
{

    int d,j,i,l,w;
    int t[100];
    scanf("%d",&w);
        while(w--)
        {
        scanf("%d",&l);
            for(j=0;j<l;j++)
            {
              scanf("%d",&t[j]);
            }
            for(j=0;j<l;j++)
            {
              if (j==0) d=t[j];
              t[j-1]=t[j];
              if(j==l-1) t[j]=d;
            }
            for(j=0;j<l;j++)
            {
              printf("%d ",t[j]);
            }
                
        }

    return 0;
}

Sędzia mówi że błędna odpowiedz… U mnie wszystko gra. Ktoś podpowie co mam źle?

może po prostu przetestuj program na ideone.com5 dla danych testowych podanych w zadaniu - co zresztą powinieneś zrobić, zanim zadałeś pytanie na forum

1 year later

Cześć,
Chcę wyciągnąć z tablicy jedną liczbę zadeklarowaną jako int ciag_liczb[1] i przepisać ją do zmiennej int ostatnia_liczba.
Wydawało mi się, że: ostatnia_liczba==ciag_liczb[1]; załatwi sprawę, ale w kompilatorze zmienna ostatnia_liczba ma ciągle wartość 0.
Wskażcie proszę błąd, a będę wiedzieć, gdzie szukać rozwiązania.
Tutaj kod5

prog.cc: In function 'int main()':
prog.cc:27:32: warning: statement has no effect [-Wunused-value]
27 |                 ostatnia_liczba==ciag_liczb[1];
  |                 ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
prog.cc:37:22: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
37 |                 if (j=n)
  |                     ~^~

W C++ operator przypisania to =, a operator porównania to ==.

Przekombinowane

  1. zmienne globalne mogą być w main;
  2. (n>1 &&n<=100&&t<=100) - nie mogę rozszyfrować po co ten warunek;
  3. zamiast ostatnia_liczba==ciag_liczb[1]; powinno być raczej ostatnia_liczba=ciag_liczb[1]; (albo ciag_liczb[0], lepiej by było “naturalnie” indeksować od zera;