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

question-closed Błąd w moim kodzie C++

Object Storage Arubacloud
0 głosów
154 wizyt
pytanie zadane 18 listopada 2015 w C i C++ przez esemkU Nowicjusz (200 p.)
zamknięte 18 listopada 2015 przez esemkU
Dobry wieczór wszystkim.

Napisałem krótki kod, ale nie wyświetla mi tego czego oczekuję. Chciałem aby wyświetlało mi kolejno liczbę, która jest wynikiem pomnożenia podanej liczby do systemu z liczbą kolejnej, danej pętli.

Np. podaję liczbę 15.
Na początku oczekuję 15, przy drugiej pętli 30(bo 15*2), przy trzeciej 45(bo 15*3) itd.

Ten poniższy kod wyświetla całkowicie inne liczby, proszę o pomoc. Z góry dziękuję i pozdrawiam.

http://wklej.org/id/1848532/
komentarz zamknięcia: problem rozwiązany

2 odpowiedzi

0 głosów
odpowiedź 18 listopada 2015 przez Rogargol Pasjonat (16,600 p.)
wybrane 18 listopada 2015 przez esemkU
 
Najlepsza

Po pierwsze zwiekszasz od razu ciag o 1, wiec na sam poczatek ciag jest rowny dwa, po drugie robiac 

grupa1wynik = grupa1wynik * ciag;

powodujesz ze po pierwszej kolejce dla grupa1wynik rownego 15, bedziesz mial grupa1wynik rowne 30, po drugiej kolejce kiedy ciag jest rowny 3, bedziesz mial 30*3, wiec 90. Powinienes zrobic

grupa1wynik = grupa1 * ciag;

i zwiekszac ciag na koniec petli a nie na jej poczatek.

komentarz 18 listopada 2015 przez esemkU Nowicjusz (200 p.)
Dzięki bardzo. ;) Taki oczywisty błąd z tym "grupa1wynik=grupa1wynik*ciag", chyba ze zmęczenia już przeoczyłem. ;)
komentarz 19 listopada 2015 przez Rogargol Pasjonat (16,600 p.)
czasem takie banaly umkna, a przez to ze to tak proste, to trudno pozniej zauwazyc taki blad ;)
0 głosów
odpowiedź 18 listopada 2015 przez Muminek Dyskutant (8,650 p.)

Nie możesz oczekiwać na początku 15 ponieważ w chwili mnożenia (linia 28) ciąg już ma wartość 2. Stąd powinno być 30.

Poza tym dużo lepszym pomysłem niż deklarowanie zmiennych globalnych jest deklaracja ich w bloku głownej funkcji oraz inicjalizacja 0. 

Ponad to lepiej skorzystać z pętli for i zamiast tworzyć zmienne globalną ciąg zrobić to tak for (int ciag = 1; ciag <= 10; ciag++) zwiększenie zmiennej ciąg odbędzie się po całym obiegu pętli na sam koniec.Poza tym nie wiem po co chcesz zmienną grupa2 skoro i tak z niej nie korzystasz.

Poza tym ten kod wykonuję poprawnie mnożenie. Mylić Cie mogła linia 26 gdzie jest cout << "ciag 1" bez spacji i wynik "przykleja" sie do 1.

Poza tym wypisywanie do konsoli opis tak bys wiedzial w ktorym fragemencie program jest i co wypisal. Przykladaj sie do kodu, bo robisz to bardzo niechlujnie... Bardzo. 

Jak nie dasz rady sam z tych wskazówek popawić swojego kodu spójrz na ten i zobacz czym się różni... Ale na poczatku sprobój sam.

komentarz 18 listopada 2015 przez esemkU Nowicjusz (200 p.)
Dziękuję za wyczerpującą odpowiedź. Oczywiście, doskonale już rozumiem każdy swój błąd w tym kodzie, dopiero się uczę. Kod jest niechlujny, bo nanosiłem na nim mnóstwo poprawek, jest to tylko wycięta część kodu, dlatego została też jednna zmienna nieużywana. Zmeczony, błędnymi wynikami, przyszedłem po pomoc. ;p Ogólnie rozwiązuję zadanie ze SPOJ'a i jest to część kodu, która pomoże mi wyliczyć NWW dwóch liczb. Jeszcze raz dzięki; )
komentarz 18 listopada 2015 przez Muminek Dyskutant (8,650 p.)

Każdy tu się uczy ;-) Może jak się dowiedziałeś paru nowych rzeczy to zamiast wciąż poprawiać poprawiany kod. Napisz go - uwaga od nowa! :) Wiem, że z trudem to Ci przyjdzie - ale na pewno zaoowocuję. Z co najmniej dwóch powodów: utrwalisz sobie nowinki, będziesz pisał i rozumiał kod :)

komentarz 18 listopada 2015 przez esemkU Nowicjusz (200 p.)
Z pewnościa wykorzystam wszystkie nowe info i będę ćwiczył. Dostrzegając starania Twoje i użytkowników forum, zapewniam kolejne kody wrzucać w starannej estetyce ; ). Pozdrawiam ;)

Podobne pytania

0 głosów
2 odpowiedzi 1,076 wizyt
0 głosów
0 odpowiedzi 154 wizyt
pytanie zadane 2 listopada 2019 w C i C++ przez Niepokonana7999 Bywalec (2,270 p.)
0 głosów
1 odpowiedź 267 wizyt

92,578 zapytań

141,426 odpowiedzi

319,653 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...