Dobry dobry.
Piszę program na uczelnię, przyznaję. Programem tym jest implementacja kopca minimaksowego. Dodawanie mam działające, pojawił się za to problem z usuwaniem elementu. Wysmażyłem taką metodę do tego:

void Heap::removeMin()
{
if (this->nodesNumber == 0)
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Bauzzer: debuger to mój najlepszy przyjaciel. Niestety tym razem nie pomaga. Myślę, że to może być kwestia złej implementacji algorytmu, ale niestety nie dostałem się do jakichś dobrych źródeł odnośnie kopców minimaksowych. Wszędzie albo kopce minimum, albo maksimum.
  • Odpowiedz
#programowanie #cpp
Ciekawe demo do multithreadingu opartego na STL.

Koleś jest niesamowity. Za dnia kierowca autokaru gdzieś w zaśnieżonej Finlandii, za nocy hipster programista piszący w nieznanym edytorze mający fonta ciosanego z granitu.
trzeci - #programowanie #cpp 
Ciekawe demo do multithreadingu opartego na STL. 

K...
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

czy ktoś z tagu #programowanie bawił się modelami #word2vec? do tej pory znalazłem tylko przetrenowany model google news, który zjada olbrzymie ilości ramu (za to działa świetnie) oraz korpus 100mb text8 (po przetrenowaniu działa jak uposledzone dziecko). Są jakieś inne ogólnodostępne modele, ew. jakieś pomysły na dobry korpus do nauki? #algorytmy #sztucznainteligencja #python #java #cpp #cplusplus
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, szukam jakiejs dobrej ksiazki do nauki C++ . Chce sie dobrze przygotowac na mature z informatyki, wobec tego chcialbym, aby dzial pracy na plikach tekstowych, funkcje matematyczne, struktury, etc. były dobrze i jasno wytlumaczone. Co byscie polecili?

#cpp #naukaprogramowania
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zainstalowałem CLion, ale MinGW nie obsługuje polskich znaków w ścieżce, więc nie mogę nic zrobić, bo moja nazwa użytkownika zawiera "ł". Mogę jakoś to obejść?

#programowanie #cpp
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wytłumaczcie mi jak to działa ;o
Char minus '0' daje inta?

string liczba="123";
int var;
var=liczba[0]-'0';
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@matth95: domagasz sie inta to co sie dziwisz. char - char daje char, ale ze zapisujesz do inta to dostajesz inta. Char to tak naprawde zwykla liczba.
  • Odpowiedz
@matth95: char to typ liczbowy, ale używany też do reprezentacji znaków. Znak '0' ma wartość 48. Znak '1' ma wartość 49, czyli liczba[0]-'0' == '1' - '0' == 49 - 48 == 1
  • Odpowiedz
Jak dodać tablicę jednowymiarową do tablicy dwuwymiarowej?
Mam funkcję która zwraca tablicę jednowymiarową. np: {1, 2, 3, 4, 5} Wywołuję ją k razy i chcę jej wyniki zapisać w tablicy dwuwymiarowej aby to wyglądało tak {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}}.
Próbowałem tak:

for(int k = 0; k < graph->V; k++)
{
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@qwerte: a ja wiem? Móc to na 100%, ale trochę będzie trzeba przerabiać.

Przykład użycia vectorów

Przeczytaj, ogarnij mniej więcej o co chodzi, sprawdź funkcje takie jak .pushback(), .resize(), .clear() itp. itd. i jak będziesz wiedzieć co jest co to zacznij używać. Ten kod i tak radzę przepisać bo nawet jak Ci się teraz nie chce to utrzymanie go to masakra będzie jakaś. A najlepiej weź się trochę poducz jeszcze. Kilka wskazówek:
  • Odpowiedz
@CoJaCzytam: @qwerte: No jest jeszcze std::valarray i da się tego używać jako tablic wielowymiarowych, ale trzeba wiedzieć jak i nie jest zbyt wygodne. Za to poprawne użycie jest dużo wydajniejsze od niezbyt zoptymalizowanych implementacji takich jak boost::multi_array.

@CoJaCzytam: Skopiowałem deklaracje funkcji i nie zauważyłem tego structa X-D tak co zaszłość z #jezykc na szczęście nie psuje nic, tylko zawęża poszukiwanie deklaracji.
  • Odpowiedz
#programowanie #cpp
Hej Mirki!
Jak w C zrobić sprawdzanie czy da się przejść z jednego sześciokąta na inny w linii prostej?
Liczyć liczbę pól pomiędzy nimi, odpowiednio inkrementować współrzędne i sprawdzać czy na końcu zgadzają się one ze współrzędnymi drugiego sześciokąta? Jest jakiś prostszy sposób? Używam takich koordynatów:
MikelThief - #programowanie #cpp
Hej Mirki!
Jak w C zrobić sprawdzanie czy da się p...

źródło: comment_DDeHUyLy5C4CsBV2co6a2JkTiZ7fzpau.jpg

Pobierz
  • 28
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mógłby ktoś wytłumaczyć dla kompletnego beginnera jak poprawnie załadować macierz z pliku .txt? Jej rozmiar może być dowolny, nigdzie nie jest podany. Tak aby każdy element tej macierzy trafiał do tablicy dwuwymiarowej(nie znamy jej wielkości). Każdy nowy wiersz jest oddzielony enterem.
#naukaprogramowania #cpp
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@elcor: albo przelatujesz plik 2 razy raz by pobrać rozmiar (ile kolumn i wierszy) a drugi to zapełnianie
z uwagi że dostęp do dysku jest dłuższy niż do ramu to dzikie rozwiazanie z wcześniej ma szanse być szybsze o ile rosądnie tablica będzie rosła
  • Odpowiedz
Pisze #program w #c++ i wyrzuca mnie przy

test = ile / 2;
ile_przerw = rand()%test + 2;
cout << ile_przerw;
prz *przerwy = new prz[ile_przerw];
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Uczę się #qt . Mam główne okienko aplikacji - MainWindow. U góry zrobiłem sobie rozwijalny pasek i z niego użytkownik może sobie wybrać opcję po której otwiera się nowe okienko (QDialog) w którym może wprowadzić jakieś dane. Następnie zatwierdza naciskając na button OK, a wprowadzone dane mają zostać użyte w MainWindow(są to koordynaty do obrócenia kostki w opengl).
Nie wiem w jaki sposób mam przenieść te dane z QLineEdit'ów w
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@KrzaQ2: ogólnie to chcę sobie przesłać 2 obiekty typu vec3 i jednego float'a . To nie jest mój typ, tylko typ z biblioteki glew/glut(?) więc chyba nie muszę go rejestrować?
Właśnie nie bardzo wiem jak mam to wysłać sygnałem.
Próbowałem tak: http://stackoverflow.com/a/18262140
ale autor nie pokazał jak wyglądają implementacje tych metod send/receive, a chyba właśnie coś takiego powinienem zrobić.
  • Odpowiedz
@FantaZy: Sygnałami da się przesyłać tylko to co potrafi przenieść QVariant, więc typy których on nie zna trzeba zarejestrować poprzez makro Q_DECLARE_METATYPE . Natomiast jeżeli masz dostęp do definicji obiektu Dialogu to tam możesz sobie wyprowadzić metody do pobierania danych, a sygnał zrobić bez parametru bądź z samym wskaźnikiem na dialog.
  • Odpowiedz
Potrzebuję zsumować każde dwa elementy w tablicy i wynik zapisać w drugiej tablicy, jednak nie mogę wykombinować poprawnej pętli. Co mam:

for (i = 0; i < 4; i++) {
for (j = i + 1; j < 4; j++) {
B[j + i - 1] = A[i] + A[j];
}
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

A coś takiego nie może być? IMO czytelniejsze:

int k = 0;
for (int i = 0; i < 4; i++) {
for (int j = i+1; j < 4; j++) {
B[k] = A[i] + A[j];
  • Odpowiedz
@Battis: nie rozumiem po co kombinowanie, jak nie chcesz liczyć jakiego rozmiaru jest tablica to nie licz - użyj wektora i upychaj wartości po kolei, przykład:

std::vector B;
for (i = 0; i < 4; i++) {
for (j = i + 1; j < 4; j++) {
B.push_back(A[i]
  • Odpowiedz