@KrzaQ2: Jedyny problem to teraz jak zapisać wyjście tak żeby użytkownik dostawał np w numbers/floatnumbers int/double a w text string lub jakoś tak zorganizować żeby mógł sbie odczytywać na zasadzie (w sensie żeby takie pola miał do odczytu).

{

nazwa,

typ (w sensie czy to number/fnumber/text)

zmiennaokreslonegotypu

}
#cpp #programowanie

Chcę wygenerować wskaźnik do funkcji zwracającej double'a (przyjmuje też double) za pomocą lambdy.

To zadziała:

double (*lambda1)(double) = [](double a)->double {
return a;
};
ale to już nie:

double b = 1;
double (*lambda2)(double) = [=](double a)->double {
return b*a;
};
Dlaczego, gdy używam zewnętrzną zmienną w lambdzie to już nie jest to wskaźnik na taką samą funkcję?
#cpp #programowanie

Mikrobki, dlaczego licznik (counter) nie dziala?

#include "iostream"

int counter;

int A(int n, int m)

{

counter++;

if(n==0)

return m+1;

else

{

if((n>0)&&(m==0))

return A((n-1),1);

else

if((n>0)&&(m>0))

return A(n-1,A(n,m-1));

}

}

int main()

{

int n, m;

counter=0;

std::cin>>n>>m;

std::cout<
return 0;

}
@erwit: Jeśli chcesz głębokość rekurencji sprawdzić to dodaj dodatkowy argument do funkcji - depth i przekazuj depth+1 za kaƶdym razem. a do globalnego countera przypisuj max(counter,depth), gdzie counter jest globalny a depth podany od rodzica.
#programowanie #cpp Mirki, potrzebuję pomocy. Wyskakuje mi błąd :"ISO C++ forbids comparison between pointer and integer" w kodzie (podaję tylko istotny fragment):

int main(int argc, char * argv[])

{

if(argv[2] == '+') Kalk.dodaj(); //error

else if(argv[2] == '-') Kalk.odejmij(); //error

else if(argv[2] == '*') Kalk.pomnoz(); //error

}

ja wiem na czym ten błąd polega, ale w googlach odnośnie tego errora rozwiązania dotyczą porównywania z const char, a u mnie strcmp nie działa.
Mikrobki musze napisac funkcje void stack() ktora bedzie powodowala przepelnienie sie stosu i w momencie gdy do tego dojdzie, program bedzie przerywany, a na ekranie zostanie wypisany stosowny komunikat (wewnatrz programu, nie przez kompilator). Main() ma wypisywac ile razy ta funkcja zostala wywolana, zanim przepelnil sie stos. Pytanie rowniez jest o to jak mozna to przepelnianie przyspieszyc i jak oszacowac na podstawie wynikow wielkosc stosu.

Nie mam pojecia jak sie do tego
@erwit: Odpowiedz z gory, domyslna wielkosc stosu w msvc to 1MiB, w mingw to (chyba) ok 8MiB. Na linuksie jest to ustawienie systemowe.

Tak, rekurencja moƶe Ci przepełnić stos, ale musisz wziąć pod uwagę wielkość ramki, która moƶe się zmieniać w zaleƶności od kompilatora i flag kompilacji. Ponadto przepełnienie stosu wywali Ci program, nie będziesz mógł wypisać komunikatu błędu (przynajmniej nie za pomocą narzędzi dostępnych w standardowym C++, coś system-specific będziesz
@matek85: ogólnie spotkania dają radę, chociaż wykład o rvalue reference/move semantic był ... za cichy i z końca sali trzeba było bardziej się skupiać aby coś usłyszeć niż wsłuchać się w materiał ;)
Na mikro każdy pyta o pracę to i ja...

Zakładając, że dobrze znam kilka języków programowania jak #cpp, #c, #php, #javascript i trochę musnąłem csharpa i asemblera to w jakim najlepiej szukać pierwszej pracy? Niestety w żadnym języku nie mam większej większej praktyki. Jak przeglądam oferty to wszędzie wymagają dobrej znajomości bibliotek, frameworków i dobrych praktyk programistycznych... tylko jak jeśli na Polibudzie tego nie nauczyli.

Czy jest jakaś dobra książka
W takim razie może zadajesz złe pytanie? Ogólne odpowiedzi znajdziesz w internecie. To ile zarobisz nie zależy od wybranego języka, ale od wielu innych czynników, tak wielu że najważniejszym jest to żebyś w ogóle lubił to co robisz, zaangażowanie jest jednym z ważniejszych czynników sukcesu. Jeżeli wybierasz C++ i czujesz się na siłach to idź w tym kierunku. Zorientuj się kto w Twoim mieście potrzebuje programistów i dowiedz się od pracodawców czego
Mirki, pomocy, teraz! #cpp #programowanie #pomocy

co jest nie tak w tym programie? Potrzebuje funkcji na liczbe pierw3szą, ale słabo ogarniam bool:


#include

using namespace std;

bool lp(int x)

{

int d, s=0;

for(d=1; d<=x; d++)

if (x%d==0) s=s++;

if (s==2) return true;

else return false;

}

int main(int argc, char *argv[])

{

int x;

cout<<"podaj liczbe"<
cin>>x;

if(lp(x))cout<<"liczba pierwsza"<
else cout<<"liczba nie jest pierwsza"<

system("PAUSE");

return EXIT_SUCCESS;

}
W jednym z ostatnich wpisów @itterasshai pytał o reimplementację algorytmu napisanego w Haskellu do C++. Postanowiłem spróbować.

Tutaj znajduje się oryginalny kod w Haskellu. Funkcja jest rozbita na 3 przypadki - n == 0, n == 1 i n pozostałe. Przypomniałem sobie o rozwiązaniu ciągu Fibonacciego korzystającego z template metaprogramming i spróbowałem wykorzystać tę technikę do rozwiązania danego problemu.

Efekt możecie znaleźć tutaj

Parametry klasy Hanoi to ilość słupków i długość listy
#programowanie #cpp #nieprogramowanie #dopierosieucze

Czy jest możliwość, aby użytkownik sam wybrał operator? Np. Wpisuje a,b,c gdzie a,b to cyfry a c= to np:+. Ważne jest dla mnie, żeby użytkownik mógł wybrać czy dzieli, mnoży,dodaje a może odejmuje. Nie interesują mnie funkcje wyboru czy warunkowe. Po prostu chce mieć cały kod bez znaku "+" ale, użytkownik i tak będzie mógł dodawać. Pewnie się jakoś da, ale ciężko znaleźć.