#programowanie #cpp #programista15k #gamedev Cześć, w jaki sposób stworzyć tablicę elementów mniejszych niż 1 bajt? np. 5 bitów. Chodzi mi tu o optymalizację pamięci. Normalnie zrobił bym sobie tablicę np.:
unsigned char tablica[320*256] i taka tablica zajmie mi 81 920 bajtów..
natomiast elementy które bede przechowywał w tablicy są od 0-31 czyli wystarczy mi 5 bajtów na element i wtedy taka tablica mi zajmie
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ZawzietyRobaczek: skoro to game dev to bardziej Cię interesuje wydajność niż rozmiar, a używając pól bitowych cache locality trafi szlak. Gdyby były. to 4 bity to pewnie byłoby lepiej, ale przy 5 to słabo widzę.
  • Odpowiedz
tl;dr Mirki i mirabelki :-> Kto polubi ten wpis i napisze do mnie PW dostanie link do pobrania 420 tapet programistycznych :-)

- 10 wariantów tematycznych
- wersja centralna i narożnikowa
- wariant 2160p oraz 1440x2960 (na smartfony)
- warianty dla 7 najpopularniejszych języków programowania: #c #cpp #csharp #js ( #javascript) #php #python #vb ( #visualbasic
tomaszs - tl;dr Mirki i mirabelki :-> Kto polubi ten wpis i napisze do mnie PW dostan...

źródło: comment_15850680591AXiSFwKjxnoISs3L4m0pC.jpg

Pobierz
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Skasowałem wczorajszy plik z tapetami programistycznymi ¯\_(ツ)_/¯
I zrobiłem nowe tapety na bazie sugestii @LubieKiedy, @Catmmando, @arcy81 oraz motywacji od @sirconrad, który jako jeden jedyny wykopał mój wczorajszy wykop z tapetami. Dzięki Wam! Czytajcie dalej, mam coś dla Was ;)

W nowej paczce jest:
- 10
tomaszs - Skasowałem wczorajszy plik z tapetami programistycznymi ¯\\(ツ)\/¯
I zrobił...

źródło: comment_1584991517BTtbtPqn9D66GzED6IVPyw.jpg

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ktoś programuje w c/cpp I jest mi w stanie wyjaśnić jak działa liczba znajdująca się po znaku % a przed znakiem dolara jeżeli w printf napiszemy "%5$n"? Czy to 5 oznacza wtedy że zapisze do adresu wskazywanego przez 5 argument funkcji, czy że do adresu tego doda offset 5 bajtów?

Ze zdrowego rozsądku wynikałoby mi, że ta pierwsza odpowiedź na sens, ale z rozwiązania zadania które mam przed oczyma wynika co innego.
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

"%5$n"? Czy to 5 oznacza wtedy że zapisze do adresu wskazywanego przez 5 argument funkcji


@teddybear69: Tak, to dokładnie oznacza ten zapis. Jeżeli się mylę, to chętnie się dowiem o co chodzi.
  • Odpowiedz
3. Wyświetlić 20 liczb losowych parzystych z zakresu [-50,50].
5. Obliczyć ilość liczb nieparzystych wśród 10 wygenerowanych losowo z zakresu [20,300].

Jeśli komuś się nudzi i chciałby mi pomóc w napisać takie programy to priv, mogę jakiś symboliczny przelewik walnąć

#kiciochpyta
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Przegląd aktualnych promocji na ebooki dla programistów i nie tylko

-30% na ebooka Java. Kompendium programisty. Wydanie X. Do końca dnia (19.03.2020) za 89,50 zł
TU SKORZYSTASZ Z PROMOCJI

Get Groupy, Start10, Fences, DeskScapes, WindowBlinds, and more!. Na HumbleBundle możesz wybrać jeden z kilku pakietów ebooków w języku angielskim. Czasem cena za najniższy pakiet to nawet 1 dolar. Oprócz tego możesz wesprzeć organizację charytatywną
tomaszs - Przegląd aktualnych promocji na ebooki dla programistów i nie tylko

-30%...

źródło: comment_1584617171DdGp7YG0I0PzNki7J4XTOi.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#matematyka #programowanie #cpp #algorytmy

Cześć wszystkim, w ramach odświeżenia co nieco C++/Matematyka robię sobie bardzo prosty program do poruszania pojazdami w jednym kierunku (z punktu A do B po prostej). Samochody dodawane są w losowych odstępach czasu (każdy ma różne parametry etc). Chciałbym zaimplementować możliwość "gładkiej zmiany prędkości" gdy jeden samochód zbyt bardzo zbliży się do drugiego (ma płynnie zwolnić, a następnie płynnie przyśpieszać
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MrStealYourGirl:
Jakbym pisał sam to bym zrobił coś takiego:
- Ustawiasz sobie oczekiwany dystans i różnicę od tego dystansu dajesz jako parametr do funkcji liczącej przyspieszenie (calculateSpeed).
- Przyspieszenie może być ujemne.
- W każdej jednostce czasu (dt) wartość przyspieszenia dodajesz do prędkości (tutaj pamiętaj, że trzeba przeliczyć przyspieszenie bo dt może być zmienne).
- W funkcji liczącej przyspieszenie możesz sobie zrobić, żeby tylko hamowało (dystans jest mniejszy niż zadany
  • Odpowiedz
@bezznaczenia: czy można dodać skrót klawiszy to nie wiem, ale można robić snippets, które można potem wybierać z listy lub przez wpisanie nazwy snippetsu i kliknięcie tab. szukaj pod hasłem "visual studio snippets".
  • Odpowiedz
@zrakiep: z kilku powodów: po pierwsze, jeśli miałoby być dodane wsparcie dla C++11 to by była opcja kompilatora, a nie dodanie kompilatora. To powinieneś wiedzieć. Po drugie wymieniasz ficzery nowych wersji, ale nie piszesz nic o tym, ze większość kodu na świecie jest napisana w C++11 i nawet jeśli trend jest pozytywny dla adopcji nowy wersji, to nie będzie to trend dążący do 100%, bo mnóstwo środowisk nie da się
  • Odpowiedz
std::uint8t nie jest typem wbudowanym. Z duzym prawdopodobienstwem biblioteka standardowa ktorej uzywasz definiuje go jako alias na unsigned char. Sprawdź std::issame_v. Jezeli tak, to wrzucasz do strumienia typ "unsigned char*", czyli c-string. Jak chcesz zobaczyc adres - zrob static_cast(&z1)
  • Odpowiedz
Jest pierwszy perk na liście oczekujących na Summon The JSON: 10 tapet programistycznych za darmo

Dołącz teraz: http://bit.ly/summon-the-json

#programowanie #naukaprogramowania #programista15k #java #informatyka #javascript #frontend #backend #angular #pracait #webdev #fullstack #php #python #react #webdesign #justnewsit #devops
tomaszs - Jest pierwszy perk na liście oczekujących na Summon The JSON: 10 tapet prog...

źródło: comment_15837718232U9yhpkWbkxKbwPDCiETFR.jpg

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Babooco: Możesz spróbować coś w tym kierunku:

- wygenerowania sobie compile_commands.json przez CMake'a (+/- -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ale musisz poczytać o tym)
- podpiąć Eclipse żeby korzystał z tego compile_commands.json (google coś wskazuje, ale musisz sam poszukać szczegółów)
  • Odpowiedz
#naukaprogramowania #cpp
Jaka jest dobra praktyka przy tworzeniu każdej klasy w osobnych plikach w sytuacji, kiedy mój program musi zawierać zmienne globalne np tablicę wartości? Gdzie ja umieścić w projekcie?

Druga sprawa to includowanie bibliotek standardowych w każdym pliku nagłówkowym trochę mija się z celem prawda? Jak najlepiej zaincludować np iostream jeżeli potrzebuje jej w każdej klasie?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zmiennych globalnych nie rób w ogóle - to zła praktyka w 99% przypadków. Stałe globalne możesz robić - zrób je inline w nagłówku (jeżeli masz dostęp do C++17):
https://cpp-polska.pl/post/slowo-kluczowe-inline-czyli-jak-oszukac-linkerij

Include należy robic jak najmniej w naglowkach i kiedy to mozliwe robic w plikach cpp. Pozwoli Ci to na znaczne (kilkukrotne) obnizenie czasu kompilacji. Uzywanie tzw. precompiled headers tez jest dobrym pomysłem.
  • Odpowiedz
Od początku grudnia przerobiłem sobie Prata #jezykc i #cpp tego samego autora. Popisałem trochę programów, przejrzałem dokumentację C11 z naciskiem na najważniejsze elementy jakie wprowadza (co sugerowali na stacko). Ogólnie wyszedłem z założenia, że przyswojenie C będzie najlepsze na "budowanie podstaw" pod #programowanie
Do tego zapisałem się na poprawę maturki z informatyki. Wybór oczywiście padł na pythona. Wcześniej trochę w tym języku pisałem, wydał mi się
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@niesamowite_: W dużym uproszczeniu jest to system do generowania solucji pod różne platformy.
Zamiast mieć osobną solucję do Visual Studio (Win) i Xcode (OSX) oraz Makefile (linux) i męczyć się z dodawaniem plików do każdej z nich, korzystasz z CMake.
  • Odpowiedz
@luigi_pl: a co to jest "solucja"? Kiedyś ktoś tak przetłumaczył microsoftową nazwę zbioru projektów (solution), ale poza ekosystemem microsoftu raczej się go nie używa. Chociaż mogę się mylić.

Odpowiadając na pytanie autora - żeby nie odpalać kompilatora i linkera z palca, w dodatku w odpowiedniej kolejności i z odpowiednimi flagami, ktoś wymyślił "język", który to uporządkuje. To jest właśnie CMake. Zaletą jego używania jest taka, że nie jest związany z
  • Odpowiedz