@Metoksyfenidyna9: przykład z wykorzystaniem wskaźników na funkcję: std::sort. Definiujesz funkcję, która jako parametry dostaje elementy do porównania, może zwrócić 0, 1 lub -1 zależnie od tego, czy element pierwszy ma się znaleźć przed drugim itd... następnie przekazujesz wskaźnik do tej funkcji jako trzeci parametr std::sort, ta funkcja z kolei już sama dobiera sortowane elementy wg ustalonego algorytmu i układa je według twoich potrzeb
  • Odpowiedz
@Metoksyfenidyna9:
1. j.w., również np. możesz mieć jakąś kolejkę zadań, albo coś, co przyjmuje jedną z wielu funkcji do zrobienia i nie chcesz gigantycznego switcha, tylko zwinnie przekazywać konkretną funkcję do wykonania
2. np. jeśli żądanego obiektu nie ma, wtedy zwracasz nulla, np. szukanie czegoś w tablicy, zwracasz albo wskaźnik do tego elementu, albo nullptr.
  • Odpowiedz
#naukaprogramowania #cpp #programowanie #programista15k
Mam taki problem odnośnie nauki programowania. Za każdym razem kiedy przerabiam jakąś książkę/kurs internetowy w miarę sprawnie rozwiązuje zadania, które są dla zrobienia we własnym zakresie. Większe zadania np podsumowania kilku działów próbuje rozwiązać bez patrzenia na poprzednie rozwiązania. Z reguły zajmuje mi to trochę więcej czasu niż powinno, ale robię to co jest wymagane + tak żebym miał z
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Lefidor: im więcej przykładów przerobisz tym więcej doświadczenia zdobędziesz. Moim zdaniem nie ma co się przejmować tym, że na początku potrzebujesz się wzorować jakimś rozwiązaniem. Nikt nie urodził się alfą i omegą. Musisz przestawić trochę sposób myślenia, poćwiczyć algorytmy i będzie dobrze :) nie załamuj się bo pewnie wiesz więcej niż niejeden student a stracisz możliwość robienia tego co sprawia Ci przyjemność przez zbyt szybkie poddanie się.
Przeanalizuj sobie też
  • Odpowiedz
@Lefidor: Aha, czyli jazda wg. odgórnych wymagań. Nic tylko przebrnąć przez to, mając na uwadze to, że w normalnej pracy takie restrykcje pojawiają się rzadko, albo na tyle często, że szybko stają się rutyną.
Chcesz poczuć zew programowania, napisz coś swojego bez cudzych restrykcji. Po wykopie przewijaja się często "Programmer Challange vX.X" który warto przejrzeć.
Tak od siebie mogę polecić (sam tak zaczynałem) napisanie prościutkiego serwera HTTP, który po wpisaniu
  • Odpowiedz
Czy ktoś jest w stanie pomóc mi przy pisaniu algorytmu kompresji Huffmana? Bardzo prosiłbym o kontakt na priv. Mam trochę problemy z kodem oraz kwestią ułożenia algorytmu (np. jak utworzyć obiekt (klasę?) z kilkoma wartościami i posortować te klasy wg konkretnej wartości; jak łączyć wskaźnikami listę dwukierunkową i odczytywać jej kroki (ilość skoków pomiędzy listami). Od razu napiszę, że nie siedzę w obiektówce za dużo i mam z tym lekkie problemy, a
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Govr: Oczywiście. Języki takie jak PHP czy JavaScript mają to do siebie, że dużo ci wybaczą, więc pisanie gówna jest w nich super-łatwe, ale da się w nich pisać elegancki kod (uwzględniając ograniczenia samego języka, ale to też dotyczy każdego języka).
  • Odpowiedz
Mireczki z #informatyka i #cpp. Czy w Visual studio 13 da się w którejś zakładce obejrzeć wszystkie funkcje biblioteki? Chodzi mi np. o bibliotekę vector. Podczas wpisywania dostaję podpowiedzi, jak zakończyć wyrażenie, stąd moje pytanie, czy jest możliwość zerknięcia na wszystkie naraz?
#kiciochpyta
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@jakuzii: nie przypisujesz wartości do c, czyli jego wartość to jakaś losowa liczba, jak nie spełni się warunek pierwszy, to program spróbuje obliczyć resztę z dzielenia b przez c, które ma nieznaną wartość
na ogół algorytm euklidesa zapisuje się tą metodą z odejmowaniem
  • Odpowiedz
Cześć Mireczki. Przepisuję znaną pewnie wszystkim grę Battle City (lub inaczej Tank 1990) na c++. Używam do tego entity component system i nie do końca wiem jak zaimplementować strzelanie.

Mam byt (enitity) do którego wrzucam komponenty: CPosition, CPhysics, CRectangle oraz CPlayerControl.
W czasie naciśnięcia przycisku X chciałbym stworzyć kolejny byt jako pocisk.

Jak powinienem się do tego zabrać. Czy stworzyć dodatkowy komponent CTank() i do niego upchnąć funkcje takie jak strzelanie, upgrade,
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 2
@Caishen: to chyba ShootingSystem i ShootingComponent Do czołgu dodaj i żeby ShootingSystem tworzył instancje pocisku
  • Odpowiedz
#naukaprogramowania #cpp

Mam klasę Czasy, w klasie mam prywatny std::vector, tworzę objekt czas, dodaje do niego jakieś 3 przykładowe czasy, i mam mieć możliwość przeglądania wszystkich czasów w taki sposób:

Czasy czas(3);
Czasy::iterator iterator1 = czas.begin();
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki - piję do programistów 15k, których tu sporo ( ͡° ͜ʖ ͡°). Spamowałem już jakiś czas temu. Sprawa dotyczy ankiety C++17. Dzięki Waszej pomocy, jestem już trochę dalej. Wciąż jednak brakuje mi ponad połowy respondentów (minimalna próba, żeby próbować stawiać jakiekolwiek hipotezy, to 200 osób).

https://goo.gl/forms/8PIlpPTcycd6dqZw1

Nie ma nagród i nie ma rozdajo, bo mogło by to zafałszować wynik. Po prostu liczę na wasze dobre serce.
#
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@cpp17: sorki ale nie zamierzam nigdzie sie logowac, aby wypelnic ankiete i dodatkowo podawac adres e-mail, by potem gdzies wyciekl do kolejnej spamerskiej firmy
  • Odpowiedz
#cpp ma ktoś jakiś poradnik odnosnie plików dodatkowych do c++? chodzi mi o pliki *.h i inne w projekcie visual studio. Proste pch.h ograniam, ale jak robić swoje i po co? #programowanie
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@powaznyczlowiek: Interfejsy to nie ten język :D. Rolę interfejsów w c++ pełnią klasy abstrakcyjne, plik .h musi posiadać implementację.

@Cyganowski Ogólnie naucz się czym jest programowanie obiektowe, czym jest klasa. Klasy w c++ dzielą się na pliki nagłówkowe (.h/.hpp-> header) i źródłowe ( .cpp). W skrócie, w pliku .h wypisujesz listę zmiennych które się w tej klasie zawierają i deklaracje metod (funkcji). Deklaracja mówi tylko że taka konkretna metoda,
  • Odpowiedz
@powaznyczlowiek: Sama klasa abstrakcyjna nie musi mieć implementacji, ponieważ może składać się z funkcji czysto wirtualnych, a implementacja będzie dopiero w klasie dziedziczącej. Nie wiem na ile to się pokrywa ze współczesnymi interfejsami, Java HIV ( ͡ ͜ʖ ͡). Poza tym, plik nagłówkowy musi być zawsze, pliki źródłowy nie, można umieścić definicję od razu w nagłówku.

Pliki nagłówkowe/źródłowe nie mają nic wspólnego z semantyką języka,
  • Odpowiedz
#programowanie #cpp #pg

Byłem u prowadzącego na konsultacjach i zaczęło mi się trochę plątać,mając podane definicje,mamy zaznaczyć poprawne przypisania.

const int MAXN=8;
float x =
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam liczbę typu double która jest sumą dwóch zwróconych z funkcji liczb również typu double.
Chciałbym teraz tą liczbę przypisać do zmiennej i wyprintować na ekranie. Problem polega na tym, że chciałbym żeby była ona obcięta do dwóch miejsc po przecinku. Jak mogę to zrobić najłatwiej? Próbowałem zrobić cout.precision(2)<< wynik
ale wywala mi błąd wyrażenie musi mieć typ całkowitoliczbowy lub typ wyliczenia niewystępującego w zakresie i "<<" niedozwolone, prawy operand jest typu double.

Proszę o
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

wyrażenie musi mieć typ całkowitoliczbowy lub typ wyliczenia niewystępującego w zakresie i "<<" niedozwolone, prawy operand jest typu double.


@cerbi96: weź sobie ustaw angielski jak cywilizowany człowiek -.-
  • Odpowiedz
Jak zabrać się do "rozbierania"/deserializacji przykładowego wyniku od zapytania z API? Konkretniej wyciągam coś z API w formie JSONA/czegokolwiek i w jaki sposób mogę to przerzucić do konkretnych zmiennych/bazy danych cokolwiek?

Wrzucić wszystko co dostałem do string? Czy wcześniej stworzyć strukturę/klasę i utworzyć obiekt i przekazać wartości do niego?

Jak mogę rozróżnić które dane z wyniku requestu mnie interesują? Np. żeby ignorował, przecinki, nawiasy które są używane do serializacji wyniku?

#naukaprogramowania
Metoksyfenidyna9 - Jak zabrać się do "rozbierania"/deserializacji przykładowego wynik...

źródło: comment_HQP5Nv2fElb60VVK6D4zOTH7WyvtA6cL.jpg

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak zabrać się do "rozbierania"/deserializacji przykładowego wyniku od zapytania z API? Konkretniej wyciągam coś z API w formie JSONA/czegokolwiek i w jaki sposób mogę to przerzucić do konkretnych zmiennych/bazy danych cokolwiek?

Wrzucić wszystko co dostałem do string? Czy wcześniej stworzyć strukturę/klasę i utworzyć obiekt i przekazać wartości do niego?


@Metoksyfenidyna9: zrób funkcję, który przyjmuje string a zwraca twoją strukturę. W c++ nie da się mapować automatycznie jsona do struktur, więc
  • Odpowiedz
@snejdan: Dzięki! Tą wersje z returnem miałem właśnie, ale mówiąc szczerze nie wiem która jest bardziej czytelna.

Co do 1. doszedłem dlaczego nie mogłem tego zrobić, ale pozostaje pytanie odnośnie czytelności - która wersja jest bardziej "czysta"?

pairOfMinAndMax =
  • Odpowiedz
Mireczki z #cpp #programowanie, potrzebuje malej pomocy. Piszę sobie konsolową bazę danych z wczytywaniem z pliku i napotkałem mały problem. Mam strukturę student, która składa się z int id, string nazwisko, string specjalnosc i int srednia. Do tej pory wczytywalem wszystko przez strumień (plik2 >> nazwisko), ale przez to nie mogłem wpisywać białych znaków. Teraz chciałem to zrobić getlinem, ale id i sredna musza byc konieczne typem
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Metoksyfenidyna9: Wyjątki są do sytuacji, które nie powinny się zdarzać podczas normalnego działania programu. Wyjątkiem obsługujesz sytuacje, kiedy kończy Ci się pamięć, ifem obsługujesz sytuację, kiedy użytkownik nie wprowadził swojego loginu w formularzu.
  • Odpowiedz
@Metoksyfenidyna9: Exception driven development to największy rak jaki mógłby istnieć. Wyjątki, jak sama nazwa mówi, to sytuacje wyjątkowe, które nie powinny mieć miejsca. Sterowanie przepływem programu za pomocą wyjątków to jak jednoznaczne stwierdzenie, że Twój program działa w oparciu o błędy ( ͡° ͜ʖ ͡°)
  • Odpowiedz