4 unikalne sposoby na problemy ze zwracaniem wartości w C++

Czy wydaje ci się, że wiesz już wszystko o zwracaniu wartości z funkcji/metody? Istnieje mnóstwo przypadków, w których trzeba nieco pomyśleć zanim napiszemy sygnaturę funkcji. W dzisiejszym artykule poznamy cztery sposoby na zwrócenie wartości z funkcji w pewnym kontrowersyjnym przypadku. Zadanie Wyobraź sobie, że jesteś bardzo zaradnym programistą i realizujesz …

Pięć sztuczek C++, o których nie miałeś pojęcia

Chciałbyś poznać kilka sztuczek, którymi możesz zaskoczyć swoich znajomych? Bierzesz udział w konkursach programistycznych, w których wymagane jest szybkie rozwiązanie problemu, a następnie szybkie zakodowanie rozwiązania? Język C++ kryje wiele ciekawych i intrygujących ciekawostek, o których wiedzą tylko doświadczeni programiści. Sztuczki te polegają na wykorzystaniu mało znanych cech języka. Optymalizacyjne …

Poznaj nowoczesną tablicę – vector w C++

W swoich programach z pewnością przechowujesz różne dane. Wykonujesz na nich różne operacje i przekształcenia. Poznałeś do tej pory coś takiego jak „tablica” (np.: int array[n]), która służy do przechowywania określonej ilości elementów danego typu. Tablice były dobre, ale w latach 90. Obecnie posiadają one wiele wad. Jedną z najważniejszych …

Czym jest undefined behavior w C/C++?

Jeśli trochę już programowałeś, z pewnością słyszałeś o czymś takim jak undefined behavior – niezdefiniowane zachowanie. Jest to bardzo nieprzyjemna sytuacja, kiedy kompilator nie do końca wie, jak poprawnie się zachować. Wynika to głównie ze standardu, w którym niektóre operacje są opisane jako niezdefiniowane. Standard C99 definiuje prawie 200 takich …

Matura z informatyki 2015 – Liczby binarne (C++)

Dzisiaj pobawimy się dużymi liczbami binarnymi. Słyszałeś o czymś takim, prawda? Z zadaniem, które dzisiaj rozwiążemy maturzyści musieli się zmierzyć w roku 2015. Zadanie „Liczby binarne” wymaga od zdającego znajomości kilku sztuczek, które są nieodzowne do stworzenia prawidłowego rozwiązania punktowanego maksymalnie. (Jeśli chcesz zajrzeć do rozwiązań innych zadań, zapraszam do …

Matura z informatyki 2016 – Liczba PI (C++, arkusz kalkulacyjny)

Witajcie 🙂 Mam nadzieję, że przygotowujecie się do matury, drodzy czytelnicy? Cofamy się kolejny roczek do tyłu. Bierzemy na warsztat zadanie „Liczba PI” znajdujące się na arkuszu maturalnym w roku 2016. Mamy do rozwiązania jedynie trzy podpunkty. Czy pójdzie gładko? Zobaczymy. No to zaczynajmy 🙂 Jeśli chcesz przeczytać omówienie rozwiązań …

Matura z informatyki 2017 – Piksele (C++)

Witajcie drodzy czytelnicy 🙂 Kontynuujemy temat matur. Tym razem zajmiemy się zadaniem „Piksele” sprzed dwóch lat. Pamiętam je dobrze gdyż właśnie w 2017 r. sam zdawałem maturę z informatyki. Jest to jeden z egzaminów, który wspominam najlepiej. Jedynie fizyka z (przedmiotów rozszerzonych) pozwoliła mi na osiągnięcie równie dobrego wyniku. Gotowi? …

Symulator pożaru lasu – dodajemy narzędzia

Semestr się już zakończył … Nie dałem rady opisywać na bieżąco rozwoju projektu symulatora pożaru lasu. Na szczęście wszystko zaliczyłem w pierwszym terminie i teraz mam trochę wolnego czasu. Dzięki temu moge nadrobić wymuszone przez wyższe czynniki zaległości. Zapraszam do lektury 🙂 Co będziemy robili? Dzisiaj dodamy do programu podstawowe …

Matura z informatyki 2018 – zadanie WEGA (C++)

Postanowiłem, że obok wpisów na temat bardziej zaawansowanych zakamarków języka C++ postaram się przysłużyć co nieco maturzystom. A w związku z tym na blogu pojawi się niebawem seria wpisów, w których będziemy analizowali zadania maturalne z ubiegłych lat. Na pierwszy ogień pójdą polecenia wymagające programowania. Językiem, w którym będziemy kodowali …

Programowanie współbieżne w języku C++ – synchronizacja

W poprzedniej części dowiedziałeś się czym są wątki oraz po co ich używać. Poznałeś także podstawową metodę synchronizacji, którą jest muteks, wprowadzony wraz z wersją C++11. Wierzę, że jest to ogrom przydatnej wiedzy, którą z pewnością kiedyś wykorzystasz. Zapoznaj się więc z kolejną częścią serii która sprawi, że praca z …