@BoskiDawido: to było tak, w książce były jakieś proste programy pokazujące jakieś funkcje, ale bez szerszego opisu. przepisałem je i przeanalizowałem. wszystko zrozumiałem i pomyślałem, że napiszę sobie program do liczenia delty, bo czemu nie. potem rozbudowałem to o miejsca zerowe, postaci funkcji, wierzchołek i kiedyś pewnie rozbuduję to jeszcze bardziej. rozdział poświęcony zmiennym dopiero przede mną.
  • Odpowiedz
Zawsze miałem problem z optymalizacją kodu i uzyskaniem konkretnej złożoności obliczeniowej.
Robię aktualnie kurs C na Codility, utknąłem na lekcji 2 przy tablicach - gdzie obok działającego algorytmu maksymalna, dopuszczalna najgorsza złożoność czasowa wynosi O(N), a pamięciowa O(1).

Link do zadania jest tutaj

Mój kod wygląda tak
  • 29
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Malchos: @Malchos: Ta notacja pokazuje tylko 'na oko' jak ma to wyglądać. Generalnie to oznacza ze jakaś wielkość(czas/pamięć) rosnie wraz z wielkością instacji problemu, zgodnie z podaną funkcją ( O(n) ozancza że rosnie liniowo O(1) - jest stała). Estymata tego nie jest często zadaniem prostym. Generalnie sprowadza się do analizy kodu programu pod kątem pytania: Ile króków trzeba zrobić (najczęsciej w najgorszym wypadku) aby otrzymac wynik. Każdej operacji
  • Odpowiedz
Nagranie z wczorajszego rozwiązywania zadań z picoCTF 2014:
https://www.youtube.com/watch?v=7j62lUTpnZo

Ostatecznie zadania były zdecydowanie zbyt proste, a odblokować jakieś ciekawsze udało się dopiero pod koniec streama. Prawdopodobnie kolejny stream (za 2 tygodnie) będzie kontynuacją picoCTF, choć tym razem z ciekawszymi (trudniejszymi) zadaniami.

#security #bezpieczenstwo #reverseengineering i trochę #programowanie (mieszanka #python #assembler #jezykc i #cpp / #cplusplus
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Gynvael: było spoko, jednakże spodziewałem się że częściej będziesz tłumaczył dlaczego coś robisz akurat tak a nie inaczej oraz że będziesz pokrótce tłumaczył kod który piszesz. Również zrobiłbym pod koniec streama czas na pytania, zamiast w trakcie. Takie moje refleksje.

@edit

No i taguj #gynvael !
  • Odpowiedz
@gocu890: O, dzięki za feedback. Zastanawiałem się nad tym ile tłumaczyć, a ile uznać, że widzowie wiedzą i rozumieją co robię. Większość (wszystkie?) zadania były dużo prostsze niż to co normalnie na streamach pokazywałem, więc miałem obawy czy nie tłumaczę zbyt prostych rzeczy czasami.
Spróbuję na kolejnym streamie trochę więcej w detale tego co robię wchodzić :)

Ad #gynvael - mogę tak robić w sumie, czemu nie ;)
  • Odpowiedz
Mordeczki-mireczki, będę miał zadanie napisać testy w C i takie pytanie - jaki polecilibyście framework do testów?

Już jeden taki temat przerabiałem, padło na CUnit. To co mi się w nim nie podoba to to, że funkcje testowe nie mogą przyjmować argumentów, więc zmienne globalne mocno ( ͡° ʖ̯ ͡°). Jest to tym bardziej upierdliwe, że devy zażyczyli sobie, żeby testy rozbudować i unit testy (jak nazwa CUnit
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Gdyby ktoś polował na promocje na #ksiazki, to taka informacja - dziś od godziny 21, aż do jutra do godziny 9 w księgarni Bezdroża noc rabatów - książki do 50% taniej (księgarnia specjalizuje się w tematykach #turystyka i #podroze ).

Dla zainteresowanych dziedziną jaką jest #programowanie w #jezykc dziś w księgarni #helion Język C. Szkoła programowania. Wydanie VI Stephena
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Kolega, który też programuje i dłużej w tym siedzi niż ja, dał mi wyzwanie na zrobienie tego programu. Program ten wyciąga łańcuchy znakowe z pliku. Ciekawe daje wyniki po operacji na plikach *.exe. Program wywołuje się z wiersza poleceń. Jak chcesz zapisać wynik pracy programu do pliku tekstowego, to piszesz:

ten_program plik_źródłowy>plik_z_wynikami.txt
Może komuś się przyda ten program ;)
BTW. W stałych MIN i MAX jest zapisana minimalna i maksymalna długość łańcucha. Domyślny zakres to
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Osoby polujące na promocje informuję, że w księgarni #ebookpoint jest obecnie promocja pod nazwą Wykorzystaj potencjał języka C! wybrane #ebooki dotyczące tego języka możemy kupić 50% taniej (no niedokładnie tylko tego języka, bo wybrano tam też książkę o programowaniu współbieżnym, które opiera się na języku ADA, czy też są #ksiazki do nauki Objective-C, a to tak nie do końca #jezykc ale może ktoś będzie akurat
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@januszzbloku: oho. znowu ten sam powód dla którego warto usprawiedliwić kradzież.

rozróżniamy coś takiego jak wartość intelektualna. to ją kupujesz, nie ciąg bitów które składają się na ebook.
  • Odpowiedz
Takie mam pytanie,
mam tablicę int tab[] = {1,3,7,5,99} i funkcję foo(int zm), która cośtam robi.

Wywołuję foo(*tab) i do funkcji przekazuję tab[0].

Jak zrobię foo((*tab)+1)) albo foo(*tab+1) to nie przekazuje tab[1], tylko tab[0]+1.
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@motorade: sorry rypłem się jak chesz mu przekazać tab[1] to musisz dać foo( \*(tab+1))
wtedy tab+1 to "dobry wskaźnik" (w sensie na tab[1]) a "gwiazdka" bierze wartość zmiennej z tab[1])
domyślam się że dałeś foo((\*tab)+1) a wtedy to jest równoważne z foo( (tab[0]) + 1) czyli tab[0]+1 jak napisałeś
sorry za skasowanego posta, ale faktycznie zjada gwiazdki i robi zament ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@amb97: nie znasz c++ za poziomie średniozaawansowanym stary, a z kodu wrzuconego przez bambosze_babuni wynika, że nie umiesz też zbudować ładnej struktury nawet małego programu...
  • Odpowiedz
#programowanie #jezykc

Przekazuję do funkcji argumenty w postaci func(int amount, ...) mam za pomocą va_arg policzyć ile razy dane argumenty się powtórzyły i zapisać to w tablicy. Tak jak policzenie samych argumentów to 10 sekund roboty, to w tym przypadku już nie wiem jak to zrobić.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@arhu: rozumiem, że amount - to ilość argumentów, więc co chcesz liczyć? Możesz sobie sprawdzać, czy już masz taki argument i zwiększać liczbę, ew argumenty wrzucić do tablicy i posortować, będzie wolniej, ale też zadziała, posortowane już bardzo prosto policzyć ile razy wystąpił dany argument... Kwestia czy kod ma byc prosty, czy wydajny.
  • Odpowiedz
Cześć. Mam problem z małym programem i wywoływaniem funkcji. Kiedy próbuję wywołać funkcję, która będzie sprawdzała hasło i pseudonim, to pomija całkowicie funkcję fgets do wpisania znaków z klawiatury. Wywoływanie funkcji poza switchem działa normalnie, ale jak umieszczę ją w switchu to wszystko zaczyna się psuć. Jak można temu zaradzić?

Tutaj jest kod:
http://pastebin.com/WrXa1Dxc

#jezykc #programowanie #pomocy
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Marcin648: równie dobrze mógłbys napisać, że jesli program skompiluje ci się danym kompilatorem z danymi ustawieniami, to mimo, że zmiana ustawień optymalizacji spowoduje, że program będzie działał blednie, nie nazwiesz błędem tego co masz w kodzie.Tu nie masz żadnej pewności jak to zadziała. Standard mówi, że zachowanie jest niezdefiniowane, więc to, że gdzieniegdzie zadziała, to nie znaczy, że pisanie w ten sposób jest poprawne. Jeśli już podajesz rozwiązanie działające w
  • Odpowiedz
@sokytsinolop: @xaoc: A, faktycznie, nie popatrzyłem wcześniej na kod. s[i] to *(s+i), a to jest równoważne *(i+s), czyli najwyraźniej można zapisać i[s]. Ale szczerze mówiąc, nie wiem kto normalny tak pisze ( ͡° ͜ʖ ͡°)
  • Odpowiedz