chcę zaimplementować prosty szyfr podstawieniowy do szyfrowania tekstu i kusi mnie żeby zrobić to przy pomocy biblioteki stl - wyglądało by to tak, że przy szyfrowaniu kluczami do wartości elementów mapa byłyby litery oryginalnego alfabetu a każdemu kluczowi by odpowiadała litera nowego alfabetu, który podawałby użytkownik, i odwrotnie przy deszyfrowaniu. powie ktoś czy taka koncepcja byłaby w miarę poprawna i łatwa do implementacji?
#cplusplus #cpp #programowanie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@yungdupa: Jako ćwiczenie to pewnie będzie działało. Ale jak chcesz tego gdzieś użyć w prawdziwym zastosowaniu to mapy stl'owe do szukania w nich znaków raczej się nie nadają. Jak zrobisz z mapami to możesz pokusić się o użycie vectorów. To już ma więcej sensu.
  • Odpowiedz
jeśli mam vectora złożonego z obiektów, jak mogę znaleźć ilość obiektów w tym vectorze które posiadają daną wartość jednego z jego atrybutów?

przykładowo, mam coś takiego:

struct Obiekty
{
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

ja mam pytanie zasadnicze, dlaczego te wszystkie Janusze na forach typu 4programmers tak bardzo k----a na te kursy Zelenta z c++? tam rzeczywiście sa jakieś poważne błędy (jak tak to jakie) czy to po prostu jest p---------e starych dziadów bo ktoś potrafi wytłumaczyć trudne dla studentów zagadnienia lepiej niż oni na swoich zatechlych wykładach?
#programowanie #programista15k #polibuda #cpp #cplusplus
  • 39
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@yungdupa: bo uczy takiego c++, jaki się pisało ~20 lat temu. Dla początkującego nie ma to za bardzo znaczenia, ale warto mieć na uwadze, że obecnie się tak nie pisze, bo język "troszkę" wyewoluował
  • Odpowiedz
@yungdupa: nie znam typa, ale spojrzałem na https://miroslawzelent.pl/kurs-c++/sortowanie-zlozonosc-algorytmow/ i jest źle. Pominę polskie nazwy zmiennych, bo to może być fajne jak ktoś się uczy. Ale typ alokuje ręcznie tablice zamiast użyć std::vector. Używa też przestarzałych rzeczy jak clock, time czy rand zamiast std::chrono i tego co jest w . No i używa zmiennych globalnych - do tego zupełnie bez sensu, bo używa ich tylko w main().

Typ może i coś
  • Odpowiedz
@AnonimoweMirkoWyznania: Wybierasz jeden język obojętnie jaki z tych, które wymieniłeś oglądasz tutoriale i testujesz w praktyce to czego się nauczyłeś. W międzyczasie robisz klona wykopu i dwóch innych serwisów jakich chcesz. To powinno wystarczyć, żeby znaleźć pracę, jeśli nie to dodajesz kolejny post na wykopie.

Najtrudniejsze w zostaniu programistą jest poświęcenie odpowiedniej ilości czasu, większość utyka zastanawiając się jaki język wybrać i ostatecznie nie robi nic.
  • Odpowiedz
bedzie konkurowal na rynku pracy z ludzmi ktorzy sa po 4-5 lata studiow gdzie mieli czas skupic sie na tym calymi dniami


@kimikini: chyba nigdy na studiach nie byles. W takim sposob to moze dziala promil studentow, reszta ma lepsze priorytety niż kodzenie całe dnie. A jak sie uczą, to czesto jakies s--------m analizy albo filozofii xD
  • Odpowiedz
@CamilYed: Mi taka konwencja kojarzy się z Turbo Pascalem / Delphi (nie bez powodu dużego camel case'a nazywa się czasem PascalCase) albo z jakimś Basiciem... więc, yup, nie wygląda to zbyt pro.

A propos tego ostatniego języka, zawsze mogło być gorzej np. Visual Basic .NET #bederzigol

Sub cmdClose_Click()
Unload Me <- tu na początku są cztery spacje ale wykopowy formater KODU (powtarzam KODU) wycina
  • Odpowiedz
Cze, wjeżdżamy z #rozdajo ʕʔ

Rozdajemy 20 FREE biletów na konferencję IT: Code Europe 2022. Wystarczy, że jako jedna z pierwszych 20 osób wejdziesz na naszą stronę i po wybraniu biletu na event w danym mieście, skorzystasz z kodu: #rozdajo. Czas-START!

Nie udało Ci się zdążyć? Nic straconego, łap #rabat -35% na bilet z kodem: #wykop
codeeurope - Cze, wjeżdżamy z #rozdajo ʕ•ᴥ•ʔ

Rozdajemy 20 FREE biletów na konferen...

źródło: comment_16528760583KpaOD9huALjpoKbmIT70w.jpg

Pobierz
  • 39
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@code_europe: zróbcie lepiej coś z Agendą bo jest taka pajda, że szok. Serio nie ma w Polsce ludzi, którzy mają coś ciekawego do powiedzenia? U nas w firmie zgodzili się zwracać koszty za konferencje a ludzie i tak nie chcą iść, więc chyba nie najlepiej to świadczy o tym wydarzeniu.
  • Odpowiedz
@code_europe: aaa, teraz dopiero zauważyłem, że wykorzystaliście wszystkie metody sprzedażowo-manipulacyjne mamy więc:
- przecenę z 689 na 299
- końcówki "99" dla cen, ale to już standard
- okłamane rabaty 30%, bo tak naprawdę chcecie sprzedać za 200 nie 300
- i OGRACZENIE CZASOWE u dołu strony: "Kup bilet teraz! Cena wzrośnie za: 82h 17m 37s". Czyli wywieranie presji na
  • Odpowiedz
Mam nadzięję, że dobrze spędziliście święta ( )
Dzisiaj mam dla was kolejną wskazówkę z serii #zloteradypassera w temacie języka C++.

Najczęściej piszę o różnych featurach języka, ale dzisiaj będzie o pewnym błędzie w implementacji kompilatorów, który jest na tyle powszechny, że możemy spokojnie go użyć do swoich potrzeb na wielu architekturach. Mowa o tzw memory alignment.

Jak zapewne wszyscy wiemy, każdy obiekt w C++ ma określony
Passer93 - Mam nadzięję, że dobrze spędziliście święta (✌ ゚ ∀ ゚)
Dzisiaj mam dla was...

źródło: comment_1650787236o72Kmv50IWaFFngZckbGsF.jpg

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Passer93: Ale to nie jest żaden błąd kompilatorów, a celowe działanie, bo domyślnie kompilator języka C optymalizuje kod programu pod kątem szybkości dostępu do pól struktury, a nie pod kątem miejsca przez nią zajmowanego. https://en.wikipedia.org/wiki/Data_structure_alignment

Co więcej standard języka C wprost mówi, że:

There may be unnamed padding at the end of a structure or union.
Defined - @Passer93: Ale to nie jest żaden błąd kompilatorów, a celowe działanie, bo ...

źródło: comment_1650790233H0pt5jtmtsH6vOqqbQcehy.jpg

Pobierz
  • Odpowiedz
Dzisiaj ode mnie kolejna wskazówka w temacie C++.

Jak wszyscy wiemy, jedną z głownych zalet języka C++ jest wydajność oraz możliwość różnorakich optymalizacji. Jedną z takich optymalizacji jest optymalizacja pamięci. Optymalizować można zarówno zużycie pamięci na stercie (heap) jak i stosie (stack).

Jedną z najskuteczniejszych technik jest tzw. memory recycling. Zasada jest prosta: jeśli mamy jedną zmienną której już nie potrzebujemy, a chcemy zaalokować kolejny obiekt, to możemy ten nowy obiekt umieścić w
Passer93 - Dzisiaj ode mnie kolejna wskazówka w temacie C++.

Jak wszyscy wiemy, je...

źródło: comment_16494196333Kvjw95Cr7QIeznYau54XK.jpg

Pobierz
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
Ludzie, zagadka z rana.
Mam kod który niby używa funkcji z biblioteki algorithm, a jak nie dołączam tej biblioteki, to i tak się kompiluje.

Czemu tak jest? Coś przeciąża funkcje? Albo jakaś pamięć podręczna? Albo coś jest dołączone niejawnie w innej bibliotece?

Miejsce akcji: #gcc #linux
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pyroxar: najprawdopodobniej iomanip albo iostream sam wcześniej zaincludował algorithm, przez co tranzytywnie wylądowało dalej. ale nie należy na tym polegać, bo biblioteka standardowa w jednym kompilatorze może używać tego headera w swoim headerze, ale nie musi. i potem możesz skończyć z nieprzenośnym kodem, więc zostaw ten algorithm
  • Odpowiedz
Jako że język C++ jest dość złożony to postanowiłem dzielić się różnymi wskazówkami i technikami których sami używamy w naszym zespole. Będe to wrzucał pod tagiem #zloteradypassera

Dzisiaj polecam wam nowości z C++19 czyli tzw "priority function calls". Polega to na wzięciu nazwy funkcji w nawiasy i umieszczeniu przed nią odpowiedniej ilości gwiazdek *. Powinno się to robić przy wywołaniach które mają duże znaczenie dla kodu.

Ma to kilka zalet,
Passer93 - Jako że język C++ jest dość złożony to postanowiłem dzielić się różnymi ws...

źródło: comment_1646730842FU2MK6vLVNDE7uMqJBgRuS.jpg

Pobierz
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach