#programowanie #cpp #c++
Siema mam pytanie jak mam poprawić funkcję srednia, która jest wywoływana w switchu case 7, tak aby było zgodne z treścią zadania 7 na w załączniku. Program znajduje się w linku: http://pastebin.com/JGqYPhNu
Powiem tak ze działa on po części, średnią wylicza prawidłowo i wymiarowo tworzy też prawidłowe tablice. Nawet prawidłowo przypisuje elementy tylko nie wszystkie, niektóre pomija i wpisuje 0 jeżeli tablica jest wyzerowana a
dzimen - #programowanie #cpp #c++
Siema mam pytanie jak mam poprawić funkcję srednia...

źródło: comment_1GuXnARDEzufdVQ37IcbHkrmi6NaMA11.jpg

Pobierz
  • 25
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dzimen: proste
potrzebne są dwie zmienne pomocnicze: wartość i pozycja
bierzesz pierwszy element tablicy i ustawiasz wartosc = tab[0]; pozycja = 0;
następnie iterujesz przez tablicę do samego końca i jeśli znajdziesz element większy to zamieniasz wartosc i pozycja
po przeiterowaniu tablicy masz wartosc maksymalną i indeks pozycji gdzie ten element jest

dodatkowo warto rozważyć opcję jeśli jest więcej niż jeden element maksymalny - ale to wtedy zmienna pozycja powinna
  • Odpowiedz
e typy argumentów funkcji podawało się po nawiasie i przed klamerką


@laoong: Dalej sie tak da. Dostalem chyba z rok temu taki kod to review.
  • Odpowiedz
Jakiś pomysł dlaczego kompilator mi krzyczy:

BinarySearchTree/Test.h:60:18: error: ‘node’ was not declared in this scope

return &(node->data);

^

? Mam klasę iterator, która dziedziczy po const_iterator, ale nie widzi pola BstNode* node z constiterator, mimo że w constiterator to pole jest protected, czyli powinno być dziedziczone przez iterator. Co
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#naukaprogramowania #cpp

Dlaczego mając ciało funkcji zaprzyjaźnionej poza deklaracją klasy nie mogę dostać się do składników prywatnych klasy, a jeśli jest jako inline to mam dostęp?

plik nagłówkowy:

friend
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Sochu: Spróbowałem teraz przerzucić #include do pliku nagłówkowego i wtedy działa, tzn mogę się odwołać do prywatnych pól.
Miałem się pytać dlaczego tak, ale chyba już rozumiem. Przy deklaracji tej funkcji zaprzyjaźnionej musi być już znana definicja (albo deklaracja?) ostream'a. Tak mi się wydaje, ale głowy sobie za to nie dam uciąć.

W main.cpp też mam #include więc to chyba jednak deklaracja jest, bo nie
  • Odpowiedz
Mircy od #programowanie #cpp #visualstudio
Piszę kod w C++/CLI z wykorzystaniem biblioteki libjpeg w natywnym C. Problem w tym, że w libjpeg sobie zdefiniowali własnego booleana i kompilator się pluje że ma dwie definicje booleanów: tą w libjpeg (picrel) oraz tą windowsową (załączaną przez C++/CLI). Ma ktoś pomysł jak o sensownie objeść?
#pytanie #pytaniedoeksperta #kiciochpyta
z.....c - Mircy od #programowanie #cpp #visualstudio
Piszę kod w C++/CLI z wykorzyst...

źródło: comment_0SkYT56RYvSsBuGCLtVKtfiaagZQKozl.jpg

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@virgoerns: @pietryna123: Dobra, dodałem samo HAVE_BOOLEAN w opcjach projektu w VS (powinienem był się zczaić że -D jest zbędne bo inne opcje też nie miały żadnych przedrostków :P ), na razie nie wywala się na booleanach tylko na czymś innym, możliwe że przeszło ;) dam znać
  • Odpowiedz
@RaVo: Tak, na końcu maina. Btw - jak już ogarniesz dokładnie działanie wskaźników - pamiętaj, że w nowszych wersjach C++ (od 11 w górę) są smart pointery (to o czym wspomniał @Zimnx) - wskaźniki tylko że programista nie musi się martwić zwalnianiem pamięci :)
  • Odpowiedz
#cpp #qt #programowanie
Takie coś stworzyłem i okazało się mi bardzo pomocne:
http://pastebin.com/GgH6dZ0E
bo znalazłem co w moim programie zajmowało dwie sekundy* (!), a było uruchamiane dość czesto i cały program wydawał się lagować... znalazłem, naprawiłem i jest gucio. Ciągle nie idealnie, ale nie jest źle. Wkleiłem do do każdej funkcji jednej z klas (przykład f()) i było to dość mozolne... tym bardziej jeżeli chodzi o
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fervi: ja na przykład piszę w C++ na malinę, a vs mam bo koduję też w C#, więc dla mnie to ułatwienie, którym chciałem się podzielić z piszącymi w nano ( ͡º ͜ʖ͡º)
  • Odpowiedz
Mirki, załózmy , ze mam jakas tablice 1000 elementowa , ktora sklada sie z roznych liczb, w tym z niemalejących ciągów. Mam za zadanie uzyskać liczbe elementow najdluzszego niemalejacego ciagu w tej tablicy, oraz podac jego pierwszy wyraz.
Uzyskalem juz liczbe elementow w nastepujacy sposob, natomiast nie mam pomyslu jak uzyskac ten pierwszy wyraz :(. Ktos pomoze?

http://pastebin.com/6GDwhdy8

#naukaprogramowania #cpp #programowanie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pejczi: imo jeśli nie resetujesz licznika to tam możesz mieć zapamiętaną pozycję elementu ( chwytasz na początku pierwszy element ) i ustawiasz go jako początek. Jeśli zerujesz licznik to zeruj też pozycję pierwszego elementu
  • Odpowiedz
@mediateh7: W sumie to bardzo mi pomogles, bo wpadlem na to, ze przeciez pierwsza pozycja bedzie pomniejszona o licznik+2 , zaczalem ja tez resetowac i smiga :D

wartosc=T10[i+2-licznik];
  • Odpowiedz
#pytanie #programowanie #cpp

Jak obsłużyć takie cudo w klasie? Chodzi o to, żeby pobierać te wartości w nawiasach, oraz dane. Docelowo ma to lądować w tablicy. Szukałem w różnych miejscach w internecie podobnych rzeczy, ale poległem.

analiza a3("Temperatura w lutym [ C ] ", 27 );
a3[0]=-3;
a3[5]=-10;
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Witajce drogie Mireczki, różowa prosi o pomoc z następującym zadaniem:
W pliku tekstowym Lotek w kolejnych liniach zapisane są wyniki losowań dużego lotka.
Każda linia ma postać
numerlosowania. dzień.miesiąc.rok liczba1,liczba2,liczba3,liczba4,liczba5,liczba6
Przykładowa linia:
1. 27.01.1957
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Kementari: jeżeli chodzi o same krzaki to polecam tobie stworzyć nowy plik i tam wczytać jedną linijkę do zmiennych i wypisać na konsolę - poprawiać aż zadziała. albo naucz się debugować, bo to wspaniała okazja do sprawdzenia zawartości zmiennych
  • Odpowiedz
Zrobiłam w przeciągu ostatnich kilku dni kilka różnych wersji, ale żadna nie działa poprawnie

@Kementari: Spróbuj je ze sobą krzyżować, odrzucając te, które działają najgorzej

  • Odpowiedz
Mam pętle while w której n razy mam coś wczytać. W środku mam cin.getline();. Problem polega na tym, że gdy dam podam, że n = 5; To wchodzi do while'a, przelatuje przez całą pętle omijając cin.getline(), dekrementuje n i dopiero gdy n = 4 mogę coś wpisać. Dlaczego? Warunek to while(n). Zakładam, że to wina cin.getline() bo gdy podam cin >> cos; to normalnie pętla się zatrzymuje i pozwala mi coś wpisać,
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@RaVo: W buforze zostaje znak '\n', który przy getline powoduje natychmiastowe zakończenie się funkcji, gdyż funkcja napotyka znak nowej linii i kończy pracę natychmiast. Musisz opróżnić bufor po wczytaniu zmiennej n.
  • Odpowiedz
#programowanie #cpp Zupełnie sie nie znam na cpp, ale może tutaj ktoś ogarnie: Mam dllkę w cpp i muszę jej użyć w c#. Nie mogę zrobić zwykłego importu, z powodu całego mechanizmu aplikacji (dllka ma wiele instancji, tak samo program w c# a kluczowe jest podłączenie do odpowiedniej instancji).

HRESULT hr = CoInitialize(NULL);
ILoggerPtr logger(__uuidof(LoggerImpl));

W taki sposób łączę się z cpp do c# klasy (LoggerImpl), jednak chciałbym
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@piotrb: Już to rozwaliłem - w taki sposób nie podam do konstruktora parametrów - zrobiłem sobie osobną funkcję. Ale pojawił się inny problem - COM zmieniał typ argumentu funkcji (w c# był IntPtr a on chciał longa). Ostatecznie zmieniłem sposób callowania dllki i wszystko działa. Może nawet użyłem RCW ale cpp zupełnie nie ogarniam. Dzięki za zainteresowanie
  • Odpowiedz
#programowanie #cpp #linker #pytanie #pytaniedoeksperta #kiciochpyta #visualstudio
Mirki, w VisualStudio wyjebuje mi błąd linkera w C++/CLI przy wywoływaniu konstruktora klasy z natywnego C++. Ni cholery nie wiem o co chodzi, includy na miejscu, referencje na miejscu, namespace'y na miejscu, nawet załączyłem plik .obj z owym konstruktorem na input linkera, dalej się wywala. Załączam błąd ale i tak wątpię
z.....c - #programowanie #cpp #linker #pytanie #pytaniedoeksperta #kiciochpyta #visua...

źródło: comment_ESYPt5NeHEduIgm3VfIUKU0wV7xrFRMC.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@zimny_stolec: nie pokazałeś kodu, ale spróbuj zdefiniować w pliku cpp destruktor klasy, która trzyma unique_ptr i upewnić się, że zaincludowany jest tam nagłowek klasy trzymanej w unique_ptr, a nie tylko forward deklaracja.
  • Odpowiedz
#programowanie #cpp

bool b = ((_a && !a_) ^ (_y && !y_) ^ (_n && !n_));
Czy to zadziała tak, że jeżeli którakolwiek z par jest prawdziwa, ale prawdziwa jest tylko jedna z nich, b będzie równe 1, a w dowolnej innej sytuacji będzie równe 0?
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Dijuna: LOL Nie oto chodziło, twój przykład niema żadnego sensu bo int na bool się też domyślnie rzutuje, ten static tam nie jest do niczego potrzebny.
Chodziło oto że:

bool a=1, b=0;
int c = maska & liczba; //sprawdzamy bitowo czy jakies bity sa ustawione, ale zapominamy o bool i wstawiamy inta
bool r= a ^ b ^ c;

// i jak nie wiesz że c to nie bool to
  • Odpowiedz