offtopic
Programiranje u C++-u - pitanja i odgovori
- poruka: 7.283
- |
- čitano: 1.528.755
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Da, onda će taj FireMonkey ozbiljno zaprijetiti .Netu, zamisli, svi mogući OS-ovi u jednom IDE-u.
Hoće, hoće, evo već vidim propast .NET-a, malo šta može .NET-u zaprijetiti. Prije će mu Mono zaprijetiti nego taj FireMonkey.
Povraća mi se na to sve u jedan, zna se u čemu se razvija za Windows, u čemu za Android, u čemu za MacOS, a u čemu za Linux.
I da, ovo što je Domagoj dao je odlično, već duže vrijeme se nakanjujem da malo proučim Qt.
pa baš ti se povraća, daj skuliraj se malo
Pitao sam @Tracera za mišljenje koji radi u tim platformama.
Od tebe sam vidio dovoljno kad si išao sortirati niz dva puta da dobiješ najveći član u nizu
Istina, ona četiri ekrana sourcea u tri datoteke za "Hello world!" može samo majka voljeti, ali Delphi je mrtav, a s njim i FireMonkey.
offtopic
Od tebe sam vidio dovoljno kad si išao sortirati niz dva puta da dobiješ najveći član u nizu
Sortiralo se po dva kriterija, po kilometraži i po potrošnji, to mi je prvo palo na pamet, a tako i radim, šta mi prvo padne na pamet. Radim većinom u C# i sa listama i lambdama, ništa sam ne sortiram.
Kako ti barataš sa optimizacijom ASP.NET Web Forms outputa?
Ne namjeravam se raspravljati sa ljudima koji misle da su polja vrh programiranja, tj. matematičarima.
da, ne raspravljati bez veze, i ne koristiti O(Nx2) složenost i to dva puta kad se može linearna složenost i to jednom.
kad me već vučeš za jezik.
Da, onda će taj FireMonkey ozbiljno zaprijetiti .Netu, zamisli, svi mogući OS-ovi u jednom IDE-u.
Hoće, hoće, evo već vidim propast .NET-a, malo šta može .NET-u zaprijetiti. Prije će mu Mono zaprijetiti nego taj FireMonkey.
Povraća mi se na to sve u jedan, zna se u čemu se razvija za Windows, u čemu za Android, u čemu za MacOS, a u čemu za Linux.
Kada bi ljudi u jednom IDE-u razvijali za sve platforme sigurno bi si uštedili i vremena i novca te nema apsolutno nikakvog razloga da to ne bude tako. Već je kao primjer naveden i sam Qt. A ti slobodno i dalje samo povraćaj, ali molim te nemoj ovdje glumiti nekakvu facu jer ovo je već ne znam koji put da imaš poprilično bahate nastupe za nekoga tko se ne može pohvaliti niti baš nekim znanjem niti iskustvom, a kamoli tolikim da možeš blatiti nešto poput FireMonkey-a u kojemu vjerojatno nikada nisi napravio niti jednu aplikaciju niti imaš blage veze o čemu pričaš.
I molim te suzdrži se od bilo kakvog daljnjeg uplitanja u teme gdje veliki dečki razgovaraju jer ti to sigurno nisi - niti po znanju, niti po iskustvu, a definitivno ne niti po ponašanju.
offtopic
Ti u svaku temu nekako uguraš svoj C++ Builder i Embercaderove proizvode, a dovoljno si pokazao ovdje.
A vi i dalje šarafe ekserom zavijajte.
Ako misliš da pojma nemam o programiranju, te da nemam nikakvog iskustva, varaš se...
Ne trebaš se ti brinuti gdje sam ja što pokazao jer ja imam i previše referenci za svoje znanje i iskustvo. Među ostalim, otvori si i programske radove pa gledaj ako te već zanima. S druge strane, ti se u toj rubrici nisi baš iskazao, a koliko si glasan netko bi pomislio da si popunio bar prvih 5 stranica.
I baš s obzirom na to svoje znanje i iskustvo s C++ Builderom mislim da imam pravo ga spomenuti kao dobar alat (što i jest) jer sam to svojim radovima i pokazao. Drugim riječima, iza mojih postova stoji nešto konkretno što mogu pokazati i čime mogu potkrijepiti svoje tvrde, a ti apsolutno ništa osim bahatosti ne pokazuješ i želiš da te se shvati ozbiljno? Svatko ima pravo na svoje mišljenje no ti jednostavno prelaziš granice, i umjesto mišljenja omalovažavaš nešto o čemu očito ne znaš dovoljno, i još povrh toga si bahat. To jednostavno nije u redu. Ja sam u svom odgovoru na @rustweaver-ov post jasno napisao da već imam iskustva s OWL i MFC bibliotekama i da na osnovu tog iskustva imam određeno mišljenje, no ti niti imaš iskustva niti znanja o FireMonkeyu ali to te ne spriječava da pljuješ po njemu. Pa onak, na osnovu čega?
A pogotovo nek se ostavi blaćenja matematičara, jer oni mogu što on nikad neće moći, a to su dečki i pokazali ovdje, ne jedan od njih.
Koji bahat tip, matematičare smplificirati na polja, to u životu čuo nisam.
Da, onda će taj FireMonkey ozbiljno zaprijetiti .Netu, zamisli, svi mogući OS-ovi u jednom IDE-u.
Qt i Qt Creator?
Apsolutno izbor No.1
Zapravo šteta što više ljudi ne ide put Qt-a a najveća to što je Nokia koja je kao višegodišnji vlasnik Qt trademarka u jednom trenutku promislila kako će joj pod MS haljinom biti bolje no čini mi se da im polako ide sve u quratz.
Višegodišnji rad u Qt-u potvrdio mi je goreboldano.
Piši jednom , vrti svugdje.
Uskoro na googlePlayu -> čisti c++ na androidu -> nužni dio java , samo da se spajam na virtualnu mašinu kako bih mogao vrtiti reklame adMob-a upucajući openGL kao dio frameLayout-a na androidu.
Evo i par slika QtCreatora a niže je 2 mjeseca stari link igre koja sad ide prema kraju.
http://www.mediafire.com/watch/vpjybyybzyy76tz/20130730_012838.mp4
Qt je svakako super alternativa. Koristio sam ga uglavnom pod linuxom kad bih imao problema s Kylixom na novijim linux distribucijama.
Ne trebaš se ti brinuti gdje sam ja što pokazao jer ja imam i previše referenci za svoje znanje i iskustvo. Među ostalim, otvori si i programske radove pa gledaj ako te već zanima. S druge strane, ti se u toj rubrici nisi baš iskazao, a koliko si glasan netko bi pomislio da si popunio bar prvih 5 stranica.
I baš s obzirom na to svoje znanje i iskustvo s C++ Builderom mislim da imam pravo ga spomenuti kao dobar alat (što i jest) jer sam to svojim radovima i pokazao. Drugim riječima, iza mojih postova stoji nešto konkretno što mogu pokazati i čime mogu potkrijepiti svoje tvrde, a ti apsolutno ništa osim bahatosti ne pokazuješ i želiš da te se shvati ozbiljno? Svatko ima pravo na svoje mišljenje no ti jednostavno prelaziš granice, i umjesto mišljenja omalovažavaš nešto o čemu očito ne znaš dovoljno, i još povrh toga si bahat. To jednostavno nije u redu. Ja sam u svom odgovoru na @rustweaver-ov post jasno napisao da već imam iskustva s OWL i MFC bibliotekama i da na osnovu tog iskustva imam određeno mišljenje, no ti niti imaš iskustva niti znanja o FireMonkeyu ali to te ne spriječava da pljuješ po njemu. Pa onak, na osnovu čega?
Kome su zanimljivi moji radovi? POS kase, CMS sistem, ugl. aplikacije koje nemaju smisla da završe u toj temi, a dosta mojih aplikacija nije završeno, tipa jedan ERP. Da, znam da vi programere poslovnih aplikacija smatrate većinom code monkeyima, ali šta mogu, to se ovdje traži, a ja volim primati plaću, ponešto jesti, a spavati po mogućnosti u čistom krevetu. Čim nešto od svojih radova ušminkam, postavit ću tamo, eto čisto tako da vi mene ne blatite.
Firemonkey:
Ma to mi je porok, što uvijek stvari gledam iz svog ugla, tj. gore navedenog, tu mi je .NET najbolji i ja odmah nedam na njega, ali ja to priznam.
A pogotovo nek se ostavi blaćenja matematičara, jer oni mogu što on nikad neće moći, a to su dečki i pokazali ovdje, ne jedan od njih.
Koji bahat tip, matematičare smplificirati na polja, to u životu čuo nisam.
Ne blatim, nego trolam, a zapravo matematičare jako cijenim, posebno zato što nisam na ti sa matematikom, također cijenim i Tracera i njegovu knjigu C++ Analiza i primjena, ali se ne slažem sa njim u vezi C++ Buildera, a to što sam bahat, to je više trolanje i za to sam dosta puta kartoniran.
Kako kome? Svaki rad može naći svoju publiku. Ako pogledaš radove u temu ima ih stvarno krajnje trivijalnih i dosta njih koji možda baš nikome ne koriste, ali ipak su tamo. Isto tako, nije POS kasa mačiji kašalj za napraviti, čak niti meni osobno. Ako si ju napravio slobodno izloži i ako nitko drugi ja ću je svakako pogledati.
I ne vidim zašto bi programeri poslovnih aplikacija bili code monkeyi. Pa ja sam prvi koji ću reći da prvenstveno radim poslovne aplikacije jer na njima apsolutno najviše i zaradim. A to što će netko na forumu misliti o meni da sam code monkey.. neka misli. Ne daje mi taj moju plaću.
Firemonkey:
Ma to mi je porok, što uvijek stvari gledam iz svog ugla, tj. gore navedenog, tu mi je .NET najbolji i ja odmah nedam na njega, ali ja to priznam.
Ne trebaš se brinuti za .NET. Teško da će išta ikada zasjeniti MS tehnologiju, čak iako je možda u nekim stvarima lošija od konkurencije (pa bila to i FireMonkey). FireMonkey je još u začecima i proći će godine dok ne sazrije i bude u punoj snazi kao što je danas .NET. FireMonkey je nešto što trenutno obećaje puno i prirodna je evolucija dosadašnjeg VCL-a, ali još uvijek - tek u začecima.
I opet, kada braniš nešto svoje ne moraš nužno to raditi tako da blatiš drugu stranu. Već naprotiv, istakneš pozitivne strane i prednosti svog favorita
Jel moze neko rjesiti zadatak koji radi sa velikim brojevima i svaki broj je reprezentirran poljem znamenaka.
trebalo bi izgledati http://imgur.com/g30QXZ7
Kako i mi zbrajamo rucno.
Ovo sam ja napravio ali mu fali prijenos pa ako moze neko ispraviti . Zahvaljujem
#include <iostream>
using namespace std;
int main()
{
int brojA[5];
int brojB[5];
int c[6];
//Upis Brojeva u A
cout<<"Broj A: "<<endl;
cout<<"Unesite 1. znamenku: ";
cin>>brojA[4];
cout<<"Unesite 2. znamenku: ";
cin>>brojA[3];
cout<<"Unesite 3. znamenku: ";
cin>>brojA[2];
cout<<"Unesite 4. znamenku: ";
cin>>brojA[1];
cout<<"Unesite 5. znamenku: ";
cin>>brojA[0];
cout<<endl;
//Upis Brojeva u B
cout<<"Broj B: "<<endl;
cout<<"Unesite 1. znamenku: ";
cin>>brojB[4];
cout<<"Unesite 2. znamenku: ";
cin>>brojB[3];
cout<<"Unesite 3. znamenku: ";
cin>>brojB[2];
cout<<"Unesite 4. znamenku: ";
cin>>brojB[1];
cout<<"Unesite 5. znamenku: ";
cin>>brojB[0];
cout<<" ";
//Ispis
for(int i=0;i<5;i++){
cout<<brojA[i];}
cout<<endl;
cout<<"+";
for(int i=0;i<5;i++){
cout<<brojB[i];}
cout<<endl;
cout<<"-------"<<endl;
int p=0;
for(int i=4;i>=0;i--){
if(brojA[i]+brojB[i]>10){
p++;
c[i+1]=(brojA[i]+brojB[i])%10;
brojA[i]=brojA[i]+p;
cout<<c[i+1];
}
else{c[i+1]=brojA[i]+brojB[i];
cout<<c[i+1];}
}
cout<<endl;
return 0;
}
Oko 5 godina sam programirao u dvije ovakve biblioteke a to su Borlandov OWL i MS MFC i ne mogu se složiti da je to nikakav posao.
MFC je objektno orijentirani (C++) spin na Windows API. Ovo ovdje nije MFC kod nego čisti Windows API kod (C).
Naravno da kod postaje sve teži za održavanje što ga je više, ali ovdje je sve izolirano u vlastitim callback funkcijama za svaki prozor. Koliko prozora moraš imati da realno možeš kukati zbog količine GUI koda? Sasvim je izgledno da će količina sveg ostalog koda posve zasjeniti GUI dio.
O brzini kompajliranja ne bih...
Oko 5 godina sam programirao u dvije ovakve biblioteke a to su Borlandov OWL i MS MFC i ne mogu se složiti da je to nikakav posao.
MFC je objektno orijentirani (C++) spin na Windows API. Ovo ovdje nije MFC kod nego čisti Windows API kod (C).
Uopće se ne osvrćem na to već na prinicpe programiranja koji se koriste kod dotičnih (a koji su jako slični). Danas je programiranje puno brže, code mnogo bolje organiziran a sve ono što je nepotrebno je izbačeno (poput identifikatora objekata i sl.).
Od tebe sam vidio dovoljno kad si išao sortirati niz dva puta da dobiješ najveći član u nizu
Sortiralo se po dva kriterija, po kilometraži i po potrošnji, to mi je prvo palo na pamet, a tako i radim, šta mi prvo padne na pamet. Radim većinom u C# i sa listama i lambdama, ništa sam ne sortiram.
Kako ti barataš sa optimizacijom ASP.NET Web Forms outputa?
Ne namjeravam se raspravljati sa ljudima koji misle da su polja vrh programiranja, tj. matematičarima.
Mislim da je traženje maksimalne vrijednosti iz niza jedan od najosnovnijih primjera obrade niza (na razini osnovne škole).
I ako napišeš u kodu ono što ti prvo padne napamet onda mogu zamislit kako tvoji programi izlgedaju...
offtopic
OK, htio sam nešto drugo reći, baš trenutno radim nekakve metode za razbiti sliku na dijelove, pa shuffle, pa tajmeri, pa dizanje slike drag i dropom, stvarno da sad radim još ručno formu za opcije, bilo bi puno, to sam mislio reći.
U redu, pošteno. Uopće ne osporavam da postoje tehnologije s kojima nije potrebno toliko piskarati. Samo sam htio reći da nije ovo toliko grozno kao što izgleda. Da budemo pošteni taj kod radi nešto više od pukog kreiranja jednog prozora. I zapravo je taj početni skeleton najveći. Daljnje nadograđivanje na taj kod je jako malo posla jer u biti treba samo dodavati handlere za određene poruke.
Tri se stvari događaju kod kreiranja novog prozora:
- Inicijalizacija klase prozora/kontrole (popunjavanje strukture sa određenim vrijednostima koje se dijele na 3 osnovne skupine: ime same klase, callback funkcija prozora/kontrole, razni atributi klase)
- Registracija klase u operacijskom sustavu
- Kreiranje prozora/kontrole zadane klase pozivom na CreateWindow (ona grozna funkcija sa zilijun argumenata)
Prvi i drugi korak se preskaču ako se želi kreirati prozor već registrirane klase (npr. neka od standardnih kontrola, jer su i kontrole u biti samo prozori). Window class se ne zove tako slučajno, jer dijeli neke sličnosti sa klasama iz objektno orijentiranih programskih jezika (u tom se slučaju onda CreateWindow funkcija može promatrati kao konstruktor).
Sam princip rada callback funkcije je strašno jednostavan, u biti ogroman switch izraz koji procesira "poruke" koje su zapravo numeričke konstante i koje mogu imati parametre upakirane u dva integera (wparam i lparam). Nije potrebno procesirati sve moguće poruke da bi se prozor ponašao normalno, neki minimum je sve neprocesirane poruke poslati defaultnom handleru, i eventualno procesirati WM_DESTROY poruku kako bi se prozor mogao zatvoriti.
Dijalozi (odnosno forme po novome) se uglavnom kreiraju iz resursa koje si posložiš u vizualnom editoru, i njihovo kreiranje se svodi na jedan poziv na DialogBox ili CreateDialog. No i dalje moraš imati zasebnu callback funkciju za svaki prozor.
Jasno, .net omogućava hrpu prečica jer je kolekcija unaprijed definiranih klasa koje pokušavaju "iz kutije" pokriti što je veći mogući broj predefiniranih funkcionalnosti kako bi se developerima skratio posao. Ali od runtimea od par stotina megabajta manje ni ne očekujem. ;)
Sjeti se samo svaki puta kada otipkaš:
Form1 novaForma = new Form1(this)
Što se sve u pozadini odradi za tebe :)
Jel moze neko rjesiti zadatak koji radi sa velikim brojevima i svaki broj je reprezentirran poljem znamenaka.
trebalo bi izgledati http://imgur.com/g30QXZ7
Kako i mi zbrajamo rucno.
Ovo sam ja napravio ali mu fali prijenos pa ako moze neko ispraviti . Zahvaljujem
Ovako bi bilo bolje:
#include <iostream>
using namespace std;
int main(){
int i, prijenos, brojA[5], brojB[5], c[5] = {0};
cout << "Broj A\n";
for(i = 0; i < 5; i++){
cout << "Unesi " << i + 1 << ". znamenku: ";
cin >> brojA[i];
}
cout << "\nBroj B\n";
for(i = 0; i < 5; i++){
cout << "Unesi " << i + 1 << ". znamenku: ";
cin >> brojB[i];
}
for(i = 0; i < 5; i++)
cout << brojA[i];
cout << endl;
for(i = 0; i < 5; i++)
cout << brojB[i];
cout << endl << "-----\n";
prijenos = 0;
for(i = 4; i >= 0; i--){
int pom = brojA[i] + brojB[i];
if(prijenos) c[i]++;
if(!i && prijenos) c[i] += 10;
if(pom >= 10){
c[i] += pom % 10;
prijenos = 1;
}
else{
c[i] += pom;
prijenos = 0;
}
}
cout << endl;
for(i = 0; i < 5; i++)
cout << c[i];
return 0;
}
Hvala ti čovječe spasio si me. Jedno pitanje kad ja ubacim da mi zbroji 45678+45678 zaš mi izbaci 191356 ovu jedinicu ispred, sve ostale brojeve zbraja odlicno
Hvala ti čovječe spasio si me. Jedno pitanje kad ja ubacim da mi zbroji 45678+45678 zaš mi izbaci 191356 ovu jedinicu ispred, sve ostale brojeve zbraja odlicno
Izmjeni ovaj uvjet pa probaj:
if(!i && prijenos && pom >= 10) c[i] += 10;
Hvala ti kralju. Spasio si me stvarno sam ti zahvalan
Bili mi mogao molim te objasniti sta ti taj if radi :) ,nikada nisam vidiot !i pa mi nije jasno hvala :)
Bili mi mogao molim te objasniti sta ti taj if radi :) ,nikada nisam vidiot !i pa mi nije jasno hvala :)
Taj if provjerava jednu specifičnu situaciju tj. kada se radi o zadnjem zbrajanju (i = 0) jer tada prijenosa više ne može biti. U tom slučaju rezultat zbrajanja mogu biti dvije znamenke, a ne jedna (druga bi se obično prenosila).
Zapravo, kad pogledam onda bi i ovo sasvim trebalo biti dovoljno
if(!i && pom >= 10) c[i] += 10;
Izbrisao sam upit da ne budem imao problema. Samo sam trazio pomoc,jer ne kuzim
neke stvari. Pozdrav!
Priprema za TVZ OOP1...
ok...da priprema je. Buduci ste skuzili nemojte stavljati rjesenja da nebi ja imao problema. Budem to ja sam
probao rjesiti.
Tracer, treba si mu poslati na PM rješenja, pa haos kad rezultati dođu
ok...da priprema je. Buduci ste skuzili nemojte stavljati rjesenja da nebi ja imao problema. Budem to ja sam
probao rjesiti.
Naravno da ću skužiti kad ja i držim te vježbe...