Hej, szukam kogoś kto pomoże mi zrozumieć Jave / C++ i pomoc rozwiązać zadania z przedmiotu na studiach o nazwie Programowanie Rozproszone i Równoległe. Może ktoś studiował na UJ?

#uj #programowanie #java #cpp
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej tag #programowanie.
Mam do napisania program (najlepiej w C), który przy pomocy listy wskaźnikowej (na dane typu double) rozrasta się do pewnej, zadanej wielkości, np podajemy rozmiar w konsoli.
Możecie mi podpowiedzieć jak się do tego zabrać? Narazie mam tyle:

struct Node {
double
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

cos takiego

int size_to_extend;
scanf_s("%d", &size_to_extend);

int n = size_to_extend / sizeof(struct(Node));
  • Odpowiedz
  • 1
@agsbajahs w skrócie, skoro już ogarnąłeś, zapewnia to możliwość użycia zarówno w c i cpp. W przypadku gdy zdefiniowane jest cpp, potrzebujesz "extern c" by nazwy nie zostały...powiedzmy zanonimizowane (brak mi słowa na "mangled"). C natomiast nie zna "extern", stąd ifdef.
  • Odpowiedz
hej mireczki z #cpp #programowanie #informatyka ogarnąłem temat z pisaniem programu liczącego macierz odwrotną kwadratową . Bez obliczania wyznacznika, bo tablica wskaźników mnie zabiła. No ale mam jeszcze problem. Mianowicie czasem nie liczy jak powinno, a macierz ma (liczony przez kalkulator w przeglądarce) wyznacznik niezerowy. Nie wiem gdzie jest błąd. Do diaska. Ktoś pomoże? Ktoś mazowsze?
https://pastebin.com/8UdUFtaX
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@gdziemojimbuspiatka: system("pause");
To to w ogóle w-------l i zastąp czymś przenośnym (nwm, jakimś getchar chociaż), bo to jest żal, żeby w tak prostym programie sadzić takie kwiatki, które powodują, że w-----e błędem na czymkolwiek innym niż windows.

Po drugie postaraj się formatować kod tak, żeby dało się go czytać. Jak nie umiesz sam, to są narzędzia do tego, które zrobią to automatycznie.
  • Odpowiedz
@zwei: specjalnie zainstalowałem visual studio, bo formatuje kod(z code blocks przeszedłem) Z tym system pause to nie wiedziałem, że takie kwiatki robi. Wrzuciłem to, żeby sprawdzać czy dochodzi mi do konkretnych miejsc, ale to chyba już usunąłem. A ok. Na końcu zostawiłem. Dobra, dzięki.
@Ununoctium: o spoko, dzięki za info. na górze jest poprawnie wykonany program, na dole zle,
gdziemojimbuspiatka - @zwei: specjalnie zainstalowałem visual studio, bo formatuje ko...

źródło: comment_1604777601R37fQQM0bOP5Pt4c7oQGYJ.jpg

Pobierz
  • Odpowiedz
Hej mireczki. Potrzebuję pomocy bo tracę już nerwy. mam do napisania program, który przyjmuje od użytkownika rozmiar macierzy, wypełnia tą macierz liczbami w przedziale -1kk do 1kk. i liczy macierz odwrotną, gaussem jordanem.
No i musimy się zabezpiecyć, żeby det nie był zerem. Ja ten punkt uprościłem do tego, żeby sprawdzał czy na przekątnych jest zero i jak jest to pozmieniał wiersze miejscami. Na końcu jak się przy ostatnim nie będzie dało
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@gdziemojimbuspiatka: z tego co mi się wydaje, wyznacznik równy zero nie jest równoważny z tym, że macierz ma zera na przekątnej. Najlepiej po prostu przed obliczaniem macierzy odwrotnej policz wyznacznik implementując jakąś metodę i sprawdzaj czy przypadkiem nie jest równy zero.
  • Odpowiedz
Mirki, praca w 100% zdalna, w C++: https://janeasystems.applytojob.com/apply/iRrB7QoEJg/C-Developer-Remote

Mała firma, przyjazna atmosfera, ludzie z całej Europy i ciekawe projekty. Rzeczy często opensource, więc i szansa na wieczny lans jak np ten mój initial commit w Microsoftowych PowerToysach.

Szukamy zdolnych ludzi na wszystkich poziomach doświadczenia. Stawki rykowe polskie, więc bez problemu programista15k.

#cpp
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Passer93: Jak pewnie wszędzie, roboty więcej niż da się przerobić. Praktycznie cały czas szukamy ludzi.

@b33zon: Wiem, nie pyrkło wtedy wszystko jak należy. Teraz robimy rekrutacje sami, bez pośredników.
  • Odpowiedz
@b33zon: Różne rzeczy robimy, ale głównie na Windows. Więc cokolwiek jest w /std:c++latest w najnowszym Visual Studio to tego używamy. Jednym miejscem gdzie mamy ograniczenia, to utrzymywanie Node.js na Windows. Wersja LTS używa VS2017, ale wszystko co trzeba tam naprawiać i tak dzieje się w libuv które jest w C ( ͡º ͜ʖ͡º).

A robotę polecam na 100%. Ludzie są naprawdę mega i projekty też
  • Odpowiedz
#cpp #visualstudio #programowanie #programista15k #gamedev Cześć, czy Ktoś może wie ak wynikają te wartości z profilera? Chodzi mi tu głównie o pierwszą linijkę, gdzie wykonuje dość prostą operację int cellX = (int)floor_x >> 6; jest ona zaznaczona na czerwono a ta poniżej już nie.. i na końcu 3 ostatnie linijki, z czego może wynikać ta duża wartosć? chodzi o dostęp do pamięci?
ZawzietyRobaczek - #cpp #visualstudio #programowanie #programista15k #gamedev Cześć, ...

źródło: comment_1604628795zEXIvwVdbFSOcfy6IhQ1W7.jpg

Pobierz
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ZawzietyRobaczek: jak spojrzysz w wygenerowany ASM to pewnie wszystko się wyjaśni. Stawiam, że kompilator poupraszczał sobie te tymczasowe zmienne i zamiast 20 linii obliczen robi parę czarów na rejestrach i ma wynik.

I tak, dostęp do pamięci jest kilkaset razy wolniejszy niż obliczenia. W takiej pętli mieszanie w tablicach będzie najwolneijsze. Największy gain jaki możesz tu mieć to takie poprzekładanie, by te ucoutputbuffer zapełniać po kolei.
  • Odpowiedz
@bzdety: To raczej program do symulowania wyglądu rastra drukarskiego - jakbyś to puścił do druku to by niezła masakra wyszła :)
Fotoszop ma taką funkcję pod nazwą "rastrowanie półtonu".
  • Odpowiedz
mam sobie takie drzewo namespaców, że np.
Tasks::Core
Tasks::UI
Tasks::LAN
Tasks::LAN::FTP
Tasks::LAN::SSH
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bartd: a mam takie programy które wymagają konkretnie skonfigurowanego raspberry i ciągle jakieś zmiany więc robię instalator/konfigurator/patcher żeby odpalić na PC i żeby wszystko poustawiał do najnowszej wersji gdy trzeba :D z ciekawych namespace to jest tam jeszcze TCP i UART :D
  • Odpowiedz
@s_theCapt: jak chcesz tworzyć takie listy z palca i odwoływać się przez ADL, to trzeba sobie zrobić pomocniczą funkcję w danym namespace, żeby ADL to łyknął: https://ideone.com/sTsahY

ale osobiście polecałbym bardziej użyć wspomnianego wcześniej magicenum, albo samemu się pobawić z __PRETTY_FUNCTION__, albo użyć jakiegoś BOOSTPP do generowania
  • Odpowiedz
Chciałem poćwiczyć trochę gita, więc stworzyłem repozytorium do którego załączyłem jakieś pliki z kodem w C. Zrobiłem commita, wszystko ładnie widać na githubie. Następnie utworzyłem kolejne pliki, chciałem sobie je kompilować, lecz mój makefile mówi że wszystko jest "up to date" podczas gdy jeśli spróbuję kompilować bezpośrednio za pomocą gcc to on krzyczy że moje pliki .h nie istnieją.
Domyślam się że to przez gita, rozwiązanie jakie sobie wyobrażam to zacomittowanie tego
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Gamgee: usuń .o i maina wynikowego, zrób make main (w ogóle to ten main: w Makefile'u powinineneś mieć najwyżej pośród "receptur", wtedy po prostu piszesz make i on ci bierze tę najwyższą) i zobacz czy ci się ładnie kompiluje.

Potem napisz ładnie tego cleana.
  • Odpowiedz
@zwei: Usunąłem tak jak napisałeś i teraz są jakieś znaki życia. Nie kompiluje się, bo mam błędy w plikach ale to wszystko do rozwiązania już.
Trochę po omacku potraktowałem temat i są efekty. Poprawiłem to co napisałeś, dzięki wielkie za pomoc!
  • Odpowiedz
#naukaprogramowania #cpp
domyślam sie że ten kod to rak. ale przy refaktoryzacji kodu wywaliło mi błąd z którym od 5 godzin sie męcze
https://pastebin.com/RJWRet2E
cały czas problemem jest dodanie do polimorficznego wskaźnika typu kształt, obiektu typu prostokąt.
koło, trójkąt działają super, i w poprzedniej wersji prostokąt też działał, ale teraz VS mi sypie błędami pokroju:
expected type identyfier, syntax error: identifier 'Rectangle'
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zauważyłem w kodzie linię wyglądającą jak coś w tym stylu:
unsigned int x = (2137, 1);
Generalnie był to jakiś czeski błąd po refactoringu, ale dziwiło mnie to, że to się w ogóle kompiluje. I gdy wykonywana jest ta linia, do x przypisywana jest wartość 1. Sprawdziłem to dla innych przypadków i wygląda na to, że po umieszczeniu w nawiasach kilku elementów, wyrażenie to zawsze zwraca ostatni. Jest mi ktoś w stanie
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Może ktoś pomoże pomysł bo ja już nie mam siły.
Język C++. Proste zadnie na studia.
Mam daną "money" typu float przechowującą pieniądze czyli na przykład 2.30 złotego.
Potrzebuję napisać funkcję zawracającą ile jest groszy w tej danej (typ int).

No i robię to tak:
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jakoś mnie naszło podczas rozwiązywania jednego problemu ile rzędów różnicy move będzie szybszy niż copy. No i nie wiem czy czegoś źle nie zrobiłem, albo nie zrozumiałem, bo różnica w szybkości jest niezauważalna dla tego przypadku. Wyniki są prawie takie same. Z czego to wynika?

Przy długości wektora 100000000 dostaje takie wyniki:

copy: elapsed time: 0.0234539s
move: elapsed time: 0.0218534s
JakTamCoTam - Jakoś mnie naszło podczas rozwiązywania jednego problemu ile rzędów róż...

źródło: comment_1603229475xPnOBhtyQ9CcHWG37qH6FD.jpg

Pobierz
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@JakTamCoTam: move na intach to robienie kopii. zrób move na całym kontenerze, a nie jego elementach.

+ włącz optymalizację, +uważaj, żeby ci całej operacji kompilator nie wyoptymalizował, skoro nigdzie potem nie korzystasz z b ani c
  • Odpowiedz
@davidero69: no kwadratowa, czyli liczba przebiegów rośnie kwadratowa, dla N = 1 masz 1, dla N = 2 masz 4, dla N = 10 masz 100, dla N = 1000 masz 1000000

Najprostszy O(n^2):

for(int i = 0; i < len(arr);
  • Odpowiedz
#cpp #php

Szukam ksiazek do nauki tychze jezykow. Poleci ktos cos?
Aktualnie mysle nad zakupem jednej z tych dowch pod c++:
C++ Primer (5th Edition)
Programming: Principles and Practice Using C++
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@blakker: Naucz się zatem javascriptu. Ładnie się to połączy z tym co umiesz teraz i da Ci przedsmak prawdziwego języka programowania. Jak już sobie ogarniesz ten język, nauka Javy, Pythona czy C++ będzie dużo łatwiejsza.
Polecam ten kurs: https://kursjs.pl
  • Odpowiedz
Cześć Mireczki,

od lat jestem jednym z organizatorów w pełni darmowej, konferencji programistycznej code::dive - konferencji która z pewnością dedykowana jest sporej grupie z Was. Dziś uruchomiliśmy rejestrację i dlatego chciałem się z Wami podzielić tą nowiną i zachęcić Was do zapisania się.

Oczywiście ze względu na #covid19 w tym roku spotykamy się wyłącznie online.

szczegóły,
lkoikm - Cześć Mireczki,


od lat jestem jednym z organizatorów w pełni darmowej, ...

źródło: comment_16027665765fT4uwzQ7d8SVtpKxTOOPL.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lkoikm: zaplusowałem, bo brałem udział co roku, ale w tym roku kompletnie nic ciekawego nie ma w agendzie, pierwszy raz się tak zdarzyło. W ogóle czemu jest 2x mniej prelekcji w tym roku?
  • Odpowiedz
@lkoikm: ale co covid? Przecież konferencja i tak jest zdalnie, to powinno być więcej prelegentów, a nie mniej, skoro mogą siedzieć w domu zamiast przylatywać na zadupie Europy :P
  • Odpowiedz