1 / 6
Oct 2019

Witam, mam problem z zadaniem skarbfinder. Z niewiadomych dla mnie przyczyn wyniki na osiach x i y wychodzą właściwie jak chcą. Pojęcia nie mam gdzie namieszałem, proszę o pomoc

  • created

    Oct '19
  • last reply

    Oct '19
  • 5

    replies

  • 686

    views

  • 3

    users

  • 1

    link

Nie mam czasu dokładnie czytać Twój kod. Zauważyłem na szybko dwa błędy.

  1. Gdy wypisujesz osy brakuje wypisania przejścia do nowej linii.
  2. Tablicę wskazowka używasz jako [100000][2] a zadeklarowałeś jako [100000][1]
  1. Dobra, to poprawię
  2. Używam jako [100000][1]. W komórce[i][0] chcę przechowywać kierunek a w [i][1] ilość kroków. Chyba, że czegoś nie rozumiem z teorii tablic.

@korkirw ma racje.
Dopiero gdy zadeklarujesz tablice

`int wskazowka[100000][2];`

mozesz uzywac
wskazowka[i][1]
Nie wiem dlaczego program uruchamia sie, ale prawdopodobnie przy malej ilosci wskazowek nie narusza obszaru chronionego dla zmiennych.

Faktycznie, po zmianie deklaracji działa jak należy.
Dziękuję za poświęcony czas i przepraszam za kłopot.

To dobrze, że zaliczyłeś, mam nadzieję, że przy okazji doczytałeś też o tablicach i to lepiej zrozumiałeś. Tak krótko…
n w deklaracji tablicy int tab[n] jest czymś innym niż w późniejszym miejscu skorzystania z tej tablicy tab[n]. W pierwszym miejscu n jest rozmiarem tablicy, mówi ile komórek ta tablica może mieć.
W drugim miejsc n jest numerem komórki w tej tablicy. Ponieważ w C++ komórki numeruje się od 0 to w tablicy zadeklarowanej jako tab[n] komórki występują od 0 do n-1. Gdy zapisujesz coś do tab[n] to wpisujesz to w miejscu, które do tablicy już nie należy i zwykle kończy się bardzo nieprzyjemnie. To co piszę to absolutne podstawy wiedzy o tablicach i w każdej książce o C++ można to znaleźć.