@up
ta, uzyj kontenera np grid albo stackpanel
Wersja do druku
@up
ta, uzyj kontenera np grid albo stackpanel
Dzięki, w sumie logiczne ; d
ciekaw jestem jak skompiluje to kompilator, @szulak ; ?
Wyprodukuje:Kod:#include <cstdint>
int in(int n)
{
if (!n)
return 0;
else
return in(n--);
}
int main()
{
int x = 10;
in(x);
}
Z oryginalnego kodu wyrzucilem referencje do inta, bo to blad (wywolanie w else).Kod:in(int):
push rbp
mov rbp, rsp
sub rsp, 16
mov DWORD PTR [rbp-4], edi
cmp DWORD PTR [rbp-4], 0
jne .L2
mov eax, 0
jmp .L3
.L2:
mov eax, DWORD PTR [rbp-4]
lea edx, [rax-1]
mov DWORD PTR [rbp-4], edx
mov edi, eax
call in(int)
.L3:
leave
ret
main:
push rbp
mov rbp, rsp
sub rsp, 16
mov DWORD PTR [rbp-4], 10
mov eax, DWORD PTR [rbp-4]
mov edi, eax
call in(int)
mov eax, 0
leave
ret
Ma ktoś polecić dobrą książkę, poradnik, kanał YT itp. do nauki Javy od podstaw?
Podstawy programowania i algorytmiki znam, ale czas się zacząć dokształcać na własną rękę.
Java core podstawy Hortsmana podobno dobra z tego co szukalem, wyjasnia tez zasady obiektowosci
Panowie, ogarnia ktoś ile maksymalnie znaków mogę przesłać GETem lub POSTem ?
post wg specyfikacji nie ma limitu, ale PHP ma możliwość ustawienia, get to uhm,
NIBY też nie ma, ale limit ie to 2000 jakoś, pewnie 2047-8 i dobrym zwyczajem jest mieścić się poniżej tego, a najlepiej poniżej 255
Rozmiar POST zalezy od ustawien serwera.
Standardowo chyba 10 mega
Współczuję. W COBOLu też robotę znajdziesz, tylko i co z tego? Trzeba iść do przodu a nie korzystać z przestarzałych technologii.
No i powstaje pętla nieskończona, tak jak mówiłem ;)
GET: http://www.w3.org/Protocols/rfc2616/....html#sec3.2.1
POST: teoretycznie bez limitu, aczkolwiek w śmieszkowym PHP jest to 8MB.
Python, C#, C++. Do pisania skryptów testujących to bym używał Pythona, w "Jawie" się zajedziesz milionem interfejsów, fabryk i providerów.
Drugim limitem, moze byc ustawienie web-servera, tu masz configi:
nginx - http://nginx.org/en/docs/http/ngx_ht..._max_body_size
apache - http://www.tomaz.me/2013/09/15/avoid...eb-server.html
znacie jakas ksiazke ktora opisuje jak stworzyc bota do gier, w javie?
w Javie... nie jestem pewien jak to w Javie z czytaniem i zapisywaniem cudzej pamięci i takimi sprawami, chyba słabo także w sieciowych możesz niby Proxy zrobić (ale i tak musisz jakoś zmusić grę do łączenia się przez niego)
jeśli ktoś wie coś więcej na ten temat to uzupełnijcie, a jak coś ciekawego to zawołajcie
generalnie coś takiego z tego co się orientuję to
a) symulowanie ruchów myszką i klawiaturą a'la tasker - https://bitbucket.org/cybuch/jbot/downloads obrzydliwy kod to jest, nie podpisuję się pod nim
b) https://en.wikipedia.org/wiki/Java_Native_Interface
Skoro jestesmy juz przy tematyce botow, to zawsze zastanawialem sie czy jest mozliwosc przeprowadzenia operacji na zminimalizowanym oknie (z wyjatkiem PostMessage)? Chocby np. zalogowanie sie do gry w Tibi.
hook na funkcję i lecisz
a znacie jakis tutorial/ porady, np jesli chcialbym kontrolowac Kalkulator uzywajac jakiegos jezyka c++/java etc,
wlaczam ten program,
jesli np w kalkulatorze nacisne 2 to ten program jakos w kalkulatorze dodaje np 10. Wiem ze ciezko to zrozumiec.
Po to mi to potrzebne bo jesli bede potrafil kontrolowac kalkulator, bede mogl kontrolowac inne programy do ktorych moglbym napisac boty..
Tak samo mnie ciekawi jak oni napisali te boty do tibii, hackujac pamiec tak??
slyszalem tez o programie CheatEngine.
probuje napisac program, ktory pobiera liczbe pokoi i pozniej sumuje ich powierzchnie. nie wiem jak zrobic zeby sumowal te powierzchnie pokoi i wyswietlal ta sume. mam tyle:
pomoze ktos?Kod:#include <stdio.h>
int lp, w1,w2;
int main(void)
{
printf("wprowadz liczbe pokoi: ");
scanf("%d", &lp);
for(lp; lp>0; lp--)
{
printf("wpisz dlugosc: \n");
scanf("%d", &w1);
printf("wpisz szerokosc: \n");
scanf("%d", &w2);
printf("%d\n", w1*w2);
}
printf("powierchnia calkowita to: %d", )
}
Wydaje mi się, że powinno być dobrze, to co pogrubione to musisz dopisać. @Swireczek666Kod:#include <stdio.h>
int lp, w1,w2;
int suma=0,temp;
int main(void)
{
printf("wprowadz liczbe pokoi: ");
scanf("%d", &lp);
for(lp; lp>0; lp--)
{
printf("wpisz dlugosc: \n");
scanf("%d", &w1);
printf("wpisz szerokosc: \n");
scanf("%d", &w2);
temp = w1*w2;
printf("%d\n",&temp);
suma = suma + temp;
}
printf("powierchnia calkowita to: %d", &suma);
}
Zadeklaruj sobie zmienną int pw = 0; (powierzchnia całkowita) i w tym forze daj pw += w1*w2; na końcu wypisuj pw.
Dlaczego zmienne masz globalnie a nie w mainie? @Swireczek666 ;
A kolego @Tomi ; tam up: printf("%d\n",&temp); wypisze ci wskaźnik, a nie wartość.
Jakieś pomysły jak poćwiczyć php? Napisałem wlasną stronkę ale to bardzo mało wiedzy
No tak nie zauważyłem, teraz powinno być dobrze
Kod:#include <stdio.h>
int lp, w1,w2;
int suma=0,temp;
int main()
{
printf("wprowadz liczbe pokoi: ");
scanf("%d", &lp);
for(lp; lp>0; lp--)
{
printf("wpisz dlugosc: \n");
scanf("%d", &w1);
printf("wpisz szerokosc: \n");
scanf("%d", &w2);
temp = w1*w2;
printf("%d\n",temp);
suma = suma + temp;
}
printf("powierchnia calkowita to: %d", suma);
}
Torgi sprawa prosta może ktoś będzie wiedział jak zrobić :)
Jak wygenerować prostą macierz:
0 1 2
1 2 3
2 3 4
Czyli w skrócie generowanie liczb po przekątnej(tak jak działa rendering w otcliencie) - z tym że generowane muszą być w kolejności od 0 do 4. Najlepiej dwoma forami jakimiś. Udało mi się do tego dojść, ale sądzę, że jakoś wygląda to topornie - for i pętla do while, która wygląda tak i sprawdza czy komórka znajduje się w macierzy:
0 1 2 |3 4
1 2 3 |4
2 3 4 |
Będę bardzo wdzięczny :D
zagnieżdżone pętle od 0 do 2 włącznie, do pozycji w tabeli wpisujesz i+j?
No nie za bardzo :/
Chodzi tutaj oto, że tam teoretycznie nie ma wartości, tylko odwołania do macierzy nxm typu [i][j]. Może napiszę jaśniej :D
Mamy coś takiego:
0 1 3
2 4 6
5 7 8
I musimy się poruszać w tej macierzy w kolejności od 0 do 8 :)
Naprawde nie widzisz tam żadnej zależności? Spójrz na ta macierz wiersz po wierszu
@edit
Chujowo opisujesz swój problem, w drugim wierszu kompletnie nie wiem o chuj Ci chodzi
z tego co zrozumiałem to chodzi mu o generowanie danych w kierunku strzałek w kolejności cyfr, które napisałem nad nimi/obok ;p
https://i.imgur.com/c5UI7yJ.png
na jedno wychodzi, idziesz zewnętrzna pętla po kolumnach, wewnętrzna po wierszach i działa...
Nie :) Wtedy sprawdzasz pionowo z gory na dol.
On chce sprawdzac po kolei:
(wiersz, kolumna)
0,0
0,1
1,0
2,0
1,1,
0,2
2,1
1,2
2,2
czyli na skos i sprawdzac "do tylu", dodawac wiersze odejmowac kolumny. Troche bardziej skomplikowana funkcja w ktorej trzeba sprawdzic czy jestem na pierwszej kolumnie, lub ostatnim wierszu, i w zaleznosci od tego skoczyc na kolejny poziom skosu :) Prosty algorytm ale dobry na poczatek do nauki programowania zeby zagotowac mozg gdzie jest ten punkt kiedy musze zlamac przeskoczyc na kolejny skos :P
@joozioom i Bazan
Dobrze oto mi chodziło właśnie :). Moje pytanie jest jak najbardziej optymalnie to zrobić? Najlepiej dwie pętle typu for po i i j. Do przekątnej(1) wszystko jest spoko i bym nie pytał. Ale chodzi mi teraz oto co jest pod przekątną macierzy. Doszedłem do wniosku że trzeba sztucznie dopisać dwie kolumny i dalej jechać po skosie(tak jak przed przekątną). Tak, że pierwszy for skacze po kolumnach od 0 do 2*ilość kolumn-1, a drugi leci sobie po skosie tak jak pokazał joozioom. Jest lepszy sposób?
c++
dlaczego jak nie zadeklaruje tego suma=0 to wynik wychodzi mi jakiś 1932181 , czy program bez deklaracji nie przyjmuje automatycznie wartości 0?Kod:#include <iostream>
using namespace std;
int main()
{
int t,n,suma,a;
int nw[100];
cin>>t;
for (int i=0 ;i<t ;i++)
{
suma=0;
cin>>n;
for (int j=0;j<n;j++)
{
cin>>a;
suma+=a;
}
nw[i]=suma;
}
for (int p=0;p<t;p++)
cout<<nw[p]<<"\n";
return 0;
}
w c++ musisz zainicjalizować zmienną inaczej są tam śmieci z pamięci
wydaje mi się że to ze względu na optymalizację (żeby wyzerować trzeba wrzucić tam zero = kolejna operacja) jeżeli trzeba wyzerować to wtedy to robi programista
wiecie w jakim jezyku oni robia gry takie jak call of duty??
c++ ?
mam problem, podsuncie rozwiązanie mam funkcje odbieranie();
odbiera ona dane przeslane z innego uC, są to dwie zmienne w jaki sposób moge je przekazać do funkcji głównej lub innej funkcji w której zostaną odczytane/wyświetlone bo jak wiadomo poprzez return można zwracać tylko jedną zmienną. Czytałem coś o referencji, ale nie wiem zbytnio jak tego użyć.
coś takiego mi nie działa
Kod:void odbieraj(float *tmp,float *hmd)
{
deklaracja zmiennych
}
//tu jakies odbieranie
void main()
{
float tmp, hmd;
odbieraj(&tmp,&hmd);
}
@Chels ; podaj przykład jak możesz na tym co napisałem bo troche nei rozumiem a w tablice nie chce mi sie bawić
nie widze sensu w tym co napisales wyswietla ta zmienna globalna czyli tj 0 po co ona w ogóle tam jest
To zadnie jest prawdziwe, tylko dla zmiennych o automatycznym czasie przechowywania (np. zmienne lokalne). W przypadku zmiennych np. statycznych, kompilator sam ustawia jej wartosc domyslna.
C++, jednak kluczowe rzeczy zapewne są napiane w C (performance hit abstrakcji C++).
void odbieraj(float &raz,float &dwa)
{
raz = 11.3;
dwa = 55.1;
}
void main()
{
float tmp, hmd;
odbieraj(tmp,hmd);
cout << tmp<<endl;
cout << hmd;
}
tu masz przykład jak działa referencja. Wysyłasz do funkcji dwie puste zmienne jako referencje i w tej funkcji operacje są przeprowadzane na oryginalnych zmiennych.
Tylko że na razie przesłałeś tylko zmienne do których chcesz wrzucić te dane. Ale jako argumenty musisz jeszcze przekazać te dane z mikrokontrolera czyli musi mieć 4 argumenty. W ogóle gdzie ty masz te dane z mikrokontrolera. Czy one są polami jakiegoś obiektu czy jak w ogóle się do nich dostajesz?
no chyba normalnie, tylko że nie możesz tak bezpośrednio zwrócić i-1 bo to nie jest l-value która posiada adres tylko r-value więc rozbić to musisz i będzie działać tak samo:
Chyba że pytasz o ogólną praktykę używania tego w jakimś celu konkretnym to nie mam pojęcia. Trzeba mieć pewnie świadomość że operujemy cały czas na tej samej zmiennej i że nie są tworzone kopie.Cytuj:
Int in(int &i)
{
If(!i)return 0;
Else return
{
i-=1;
in(i);
}
}