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

(Dziwne?) Działanie programu

Aruba Cloud - Virtual Private Server VPS
0 głosów
258 wizyt
pytanie zadane 20 stycznia 2018 w C i C++ przez Kurczak Użytkownik (940 p.)

Cześć. Stworzyłem program, który wykonuje różne operacje na N-wymiarowych wektorach (w moim przypadku tylko 2 wymiary). Program tworzy plik z wektorami; [X1][Y1] *nowa linia* [X2][Y2] *nowa linia*... Następnie wektory są wczytywane z pliku oraz zapisywane w nowej tablicy. Mój problem polega na tym, że pierwsza współrzędna pierwszego elementu tablicy praktycznie zawsze jest równa 0. Kilka razy zdarzyło mi się, że program zadziałał poprawnie. Na wyjściu, przed wypisaniem wektorów dodałem coś a la własny debuger, który pokazuje mi w której iteracji ten element zmienia się w 0. Gdy wypisuję ten element od razu po przypisaniu mu wartości, wszystko jest ok. Sytuacja się psuje w którejś iteracji, niestety zawsze innej.
Link do kodu: <Click>

2 odpowiedzi

0 głosów
odpowiedź 20 stycznia 2018 przez Wiciorny Ekspert (280,450 p.)

Może to być kwestia funkcji pow? 

w momencie kiedy jesteśmy głębiej wartości które rosną oddalająć się od granicy 0>  zmierzając do granicy jeden w pewnym momencie będą zaokrąglane nie do 0, ale do wartości większej.  pow 0,51> jeśli np są typu Int. stąd może być całkiem inny wynik  podnoszenia do potęgi ?

Vectors are synchronized- to trzeba miec tez na uwadze 

Przepraszam- jeśli źle zrozumiałem problem.  A jakiej współrzędnej oczekujesz skoro indeksy w wektorach są zawsze od 0 ?  

komentarz 20 stycznia 2018 przez Kurczak Użytkownik (940 p.)

Wyniki z konsoli vs z pliku tekstowego. Jedyna wartość, która się różni to ta pierwsza. Praktycznie za każdym razem, lecz są wyjątki. Funkcja pow jest tutaj nieistotna, chodzi mi jedynie o zapisywanie i wczytywanie.

Wyniki z konsoli vs wyniki z pliku textowego.

Gdy wypisuję zawartość zmiennej zaraz po przypisaniu jej wartości, program działa poprawnie, więc wartość jest przypisana, ale później gdzieś "znika".

komentarz 20 stycznia 2018 przez Wiciorny Ekspert (280,450 p.)
mówisz raz działą raz nie? Wiem jaki błąd jest.,

Zwróć uwagę, że masz w jednym miejscu ODEJMOWANIE.

To jest sytuacja kiedy RANDOMOWO dostaniesz  pierwsza wartość mniejsza od drugiej :)

w konsoli Integer nie może być zapisany jako ujemny stąd pewnie 0 a jak nie to niech szlak mnie trafi, bo ja nie pisze w c ++ :D i czekam na udział innych i rozwiązanie
komentarz 20 stycznia 2018 przez Kurczak Użytkownik (940 p.)
Niepotrzebnie zamieszałem. Te funkcje to tylko dodatek, one nie są wywoływane. Chodzi mi głównie o to co jest w mainie. No nic... Jak widać szalk trafi chyba nas obu :C
Dzięki za chęci ;)
komentarz 20 stycznia 2018 przez Wiciorny Ekspert (280,450 p.)
Stary tylko, że w main dzieje się wszystko. bo w main na początku wykonujesz "inicjacje etc, wszystko po kolei ".

Kaskadowo a vektor jest synchroniczny i stały, więc zmiany których dokonałeś na wektorze są trwałe w całym programie nie tylko wewnątrz metody
0 głosów
odpowiedź 21 stycznia 2018 przez j23 Mędrzec (195,240 p.)

Sprawdź, czy k nie przybiera wartości większych od 2.

 

Ten program jest w C czy C++?

Podobne pytania

0 głosów
2 odpowiedzi 170 wizyt
pytanie zadane 2 kwietnia 2018 w C i C++ przez grubix Nowicjusz (210 p.)
0 głosów
5 odpowiedzi 770 wizyt
pytanie zadane 13 maja 2015 w C i C++ przez Iras Obywatel (1,800 p.)
0 głosów
1 odpowiedź 790 wizyt

93,335 zapytań

142,330 odpowiedzi

322,415 komentarzy

62,669 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...