Przegrałem “Daj się poznać”, ale i tak było fajnie – podsumowanie konkursu

W marcu tego roku wystartowałem w konkursie “Daj się poznać”. Moim projektem był Pierun – mój własny silnik blogowy. Prace nad jego ukończeniem trwają, ale jeszcze trochę czasu upłynie zanim przeniosę na niego mojego bloga. W trakcie trwania konkursu napisałem 40 postów, a wszyscy konkursowicze napisali ich razem prawie 8000.

DSP 2017: ogólna liczba postów/dzieńDSP 2017: ogólna liczba postów/dzień

W samym konkursie niestety nie udało mi się zostać zwycięzcą. Po głosowaniu wewnętrznym decydującym o dostaniu się do finału zająłem 3. miejsce (ex aequo z @nrmem), a w drugiej turze nie udało mi się nadrobić strat i ostatecznie skończyłem na miejscu x.

Zapraszam do lektury szczegółów.

Lawful Evil #4 – pętla switch

W tym odcinku opiszę problem z wątku zatytułowanego oryginalnie “Pilnie Potrzebna POMOC Program Obliczający Średnią C++”:

Zadanie: Napisz program, który wczytuje w pętli liczby różne od zera i oblicza ich sumę oraz średnią. Wczytanie zera oznacza zakończenie działania pętli i wyświetlenie obliczonych wartości. W C++.
Najlepiej w Dev-C++.
Będę wdzięczny za wszelkie wskazówki.
Czekam na odpowiedź.

Lawful Evil #3 – średnia i zliczanie elementów w tablicy

W tym odcinku opiszę problem z wątku zatytułowanego “Siema potrzebuj prosty program w c++ w visual studio ktoś potrafi ?”:

Napisz program, który zapisuje do tablicy 10 elementowej liczby rzeczywiste
dodatnie, w momencie, gdy podana przez użytkownika liczba jest ujemna program
wyświetla informację o błędnej liczbie i prosi o podanie innej liczby.
Po zakończeniu wprowadzania program powinien wywołać funkcję, która znajdzie
średnią wartość tablicy i policzy ile elementów tablicy jest większych od średniej.
Po zakończeniu działania funkcji w programie głównym mają zostać zapisane w
zmiennych wartość średnia oraz ilość liczb większych od średniej.

Misja Gynvaela 005

MISJA 005            goo.gl/BX0XeI                  DIFFICULTY: ██░░░░░░░░ [2/10]
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅
Jeden z naszych agentów dostał się wczoraj w nocy do silnie strzeżonej placówki
dyplomatycznej i zrobił zdjęcie kartki z hasłem do jednego z ich serwerów.
Fotografię otrzymaliśmy nieco po północy, ale wygląda na to, że jest uszkodzone.

  http://gynvael.vexillium.org/ext/m5_tajne.png

Przeanalizuj powyższą fotografię i spróbuj odzyskać wykradzione hasło.

--

Odzyskaną wiadomość umieść w komentarzu pod tym video :)
Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile
widziane!

P.S. Rozwiązanie zadania przedstawię na początku kolejnego livestreama.

Opisany poziom sugeruje trudność zadania, ale, parafrazując pewnego popularnego polskiego polityka (partii PZPR): wyraźnie je przeszacowuje.

Jak zadawać pytania na forum

W poście Najczęściej spotykane błędy w pytaniach na forum opisałem najczęstsze i najbardziej frustrujące problemy z pytaniami na forach. W tym postaram się przekazać kilka rad jak unikać błędów podczas zadawania pytań, co robić aby pytanie było dobre i jak pomóc innym pomóc Tobie.

W skrócie można powiedzieć: wykaż minimum chęci i zainteresowania. Jeśli nie widać, że Tobie zależy na rozwiązaniu problemu, to tym bardziej nie będzie na tym zależało kompletnie obcym ludziom.

Dodatkowo, podobnie jak w metodzie gumowej kaczuszki, często sam akt przygotowywania opisu problemu jest wystarczający, aby znaleźć jego przyczynę i ją zlikwidować.

Najczęściej spotykane błędy w pytaniach na forum

Dość sporo udzielam się na szeroko pojętych forach pomagając ludziom z C++, a czasem również z innymi językami. W związku z tym bardzo często spotykam się z fatalnie zadanymi pytaniami. W tym wpisie wyleję swoją frustrację na najczęstsze z nich, w kolejności nieuporządkowanej. Porady jak uniknąć tych błędów oraz jak zadawać pytania znajdują się we wpisie Jak zadawać pytania na forum.

Nie będę prezentował żadnych linków, aby nikogo konkretnego nie zawstydzać, ponieważ nie o to w tym wpisie chodzi. Ale jeśli dostałeś od kogoś linka do tego posta, to jest szansa, że wstydzić się powinieneś. Albo powinnaś.

Misja Gynvaela 004

MISJA 004            goo.gl/                     DIFFICULTY: ███░░░░░░░ [3/10]
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅
Jeden z naszych agentów infiltruje siedzibę wrogiego syndykatu, i utknął pod 
drzwiami z elektronicznym zamkiem. Udało mu się dostać do elektroniki i zrzucić
krótki program, który sprawdza wprowadzony kod i otwiera drzwi.

Twoim zadaniem będzie wykonanie analizy poniższego programiku oraz znalezienie
poprawnego kodu.

      #include <stdio.h>
      int check(char*b){char*p;for(p=b;*p;p++);if(((p-b)^42)!=47)return(
      ~0xffffffff);unsigned long long ch=0x1451723121264133ULL;for(p=b;*
      p;p++)ch=((ch<<9)|(ch>>55))^*p;return!!(14422328074577807877ULL==
      ch);}int main(void){char buf[1234];scanf("%1233s",buf);puts("nope"
      "\0good"+check(buf)*(6-1));return 0;}

--

Odzyskaną wiadomość umieśc w komentarzu pod tym video :)
Linki do kodu/wpisów na blogu/etc z opisem rozwiązania są również mile
widziane!

P.S. Rozwiązanie zadania przedstawie na początku kolejnego livestreama.

Kod, jak widać, jest trochę bardzo nieczytelny. Ok, to jest C, ale i tak powinno być lepiej. Dlatego pierwszym krokiem ku rozwiązaniu zadania było jego poprawne sformatowanie. Do tego użyłem http://format.krzaq.cc, mojego webowego frontendu dla clang-format.

Lawful Evil #2 – Pilne Kolos z struktur

Treść prośby1 o pomoc wyglądała następująco:

Zadanie 1
Zdefiniuj strukturę opisującą książkę zawierającą pola (ilość stron, numer
biblioteczny, termin wypożyczenia) , oraz zdefiniuj strukturę opisującą datę. W
programie dynamicznie utwórz zmienną typu strukturalnego z polem typu
strukturalnego , następnie wczytaj z klawiatury wartości pól, po czym wczytane
informacje wydrukuj na ekranie. Przed zakończeniem programu zwolnij pamięć po
dynamicznie utworzonej zmiennej. (3 pkt)
Zadanie 2
Napisz funkcję, która zwraca jako wartość wskaźnik do zmiennej strukturalnej
opisującej książkę. Zadaniem funkcji jest zaalokowanie zmiennej oraz ustalenie
wartości jej pól (wartości pól zmiennej wczytujemy z klawiatury).
Napisz program testujący działanie funkcji.

Visual Studio

Wygląda na idealnego kandydata do tej kategorii.

1W sumie ciężko było powiedzieć czy to prośba, bo słowo “proszę” ani żadne podobne nie znajduje się w treści.