kako u code::blocksu dodati opengl u projekt, tj. kad radim novi projekt, mogu odabrat opengl projekt i ne znam je li onda opengl integriran u sam program ili ja moram nešto napraviti?
Programiranje u C++-u - pitanja i odgovori
- poruka: 7.285
- |
- čitano: 1.712.412
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
kako u code::blocksu dodati opengl u projekt
Linkanjem sa odgovarajućim bibliotekama.
kad radim novi projekt, mogu odabrat opengl projekt i ne znam je li onda opengl integriran u sam program ili ja moram nešto napraviti?
Čemu bi onda služio opengl template projekt ako ti već sve u njemu ne bi bilo podešeno? Jesi li uopće probao napraviti opengl projekt, kompajlirati ga i pokrenuti?
Problem je taj što si postavio uvjete takve kakve si postavio. Probaj malo provrtiti jedan od ta dva uvjeta kroz glavu pa će ti biti jasno, koristi i olovku i papir ako ne možeš popamtiti što prolazi a što ne prolazi. Dosta si naivno krenuo rješavati taj problem ako smijem primijetiti, zar si mislio pisati if blok za svaku moguću kombinaciju poredanih brojeva? Ja bih to stavio sve u polje, sortirao polje, i onda tražio brojeve između kojih je razlika veća od četiri.
Da li mozes pojasnit ili dat primjer sortiranja polja?
Problem je taj što si postavio uvjete takve kakve si postavio. Probaj malo provrtiti jedan od ta dva uvjeta kroz glavu pa će ti biti jasno, koristi i olovku i papir ako ne možeš popamtiti što prolazi a što ne prolazi. Dosta si naivno krenuo rješavati taj problem ako smijem primijetiti, zar si mislio pisati if blok za svaku moguću kombinaciju poredanih brojeva? Ja bih to stavio sve u polje, sortirao polje, i onda tražio brojeve između kojih je razlika veća od četiri.
Da li mozes pojasnit ili dat primjer sortiranja polja?
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
int main()
{
int i,j,niz[50];
float as,n,s;
cout<<"Unesi broj clanova niza"<<endl;
cin>>n;
cout<<"Unesi clanova niza"<<endl;
for (i=0;i<n;i++)
{
cin>>niz[i];
}
for (i=0;i<n;i++)
for (j=i+1;j<n;j++)
if (niz[i]<niz[j]) swap (niz[i],niz[j]);
cout<<"Niz u opadajucem redosljedu"<<endl;
for (i=0;i<n;i++)
cout<<niz[i]<<endl;
system ("PAUSE");
return 0;
}To ti je za niz u opadajucem redosljedu.
Ma to je bio program koji ispisuje i najveci clan niza pa sam to zaboravio izbrsati..
Editovao sam post gore pogledaj.
Dali mi netko moze integrirat Ogre3D u C::B tj. da mogu kompajlat programe koji koriste taj library?
Dali mi netko moze integrirat Ogre3D u C::B tj. da mogu kompajlat programe koji koriste taj library?
Ovo ću ti reći iskreno i dobronamjerrno. Ako ne možeš sam napraviti nešto tako jednostavno kao što je podešavanje Ogre3Da u Code Blocksu, kako onda kaniš koristiti taj engine koji je 100x kompliciraniji?
Ovo vrijedi za sve koji koriste C/C++/Pascal:
Ako ne znate podesiti linkanje sa odgovarajućim statičkim bibliotekama u projektu, onda još nije došlo vrijeme da koristite te biblioteke. Prvo se naučite postaviti projekt, i pravilno linkati, a tek onda koristiti.
To vam je kao da tražite nekoga da vam upali automobil da bi ga vi mogli voziti. :D
Zašto ne probaš sam? To je nešto što ćeš kad-tad morati naučiti ako kaniš ostati na C++u.
Mozda je tebi to tako jednostavno jer ti je to rutina a ja nisam nigdje procitao nikakvu dokumentaciju o tome.
Mozda je tebi to tako jednostavno jer ti je to rutina a ja nisam nigdje procitao nikakvu dokumentaciju o tome.
Pa jest, rutina mi je. Ali i tebi će morati postati rutina ako misliš ozbiljnije s ovime. Što misliš koliko je rad sa 3D grafikom kompleksna tema, a ti se još boriš sa postavljanjem enginea.
Nisi dovoljno tražio. Prebrzo odustaješ:
http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Installing+the+Ogre+SDK
http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Setting+Up+An+Application+-+CodeBlocks
Moraš pokazati inicijativu...
EDIT: sad tek vidjeh da Code Blocks ima i projekt template za Ogre, znači možeš drugi korak i preskočiti, samo trebaš instalirati mingw verziju Ogrea, i postaviti environment varijablu OGRE_HOME na lokaciju instaliranog ogrea.
Gdje si instalirao Ogre?
EDIT: sad sam malo isprobavao i ispostavlja se da Code::Blocks dolazi sa zastarjelim template projektom za Ogre i ponekim mušicama:
- glatko ignorira postavljenu environment varijablu (moguć bug u MacrosManager::ReplaceMacros)
- kada mu se ručno ukuca putanja i dalje se žali zato što očekuje drugu (stariju) strukturu direktorija
Nakon što sam prepravio template, sada radi kako treba sa ručno postavljenom putanjom (i dalje ima problem sa environment varijablom), ali mi je pri pokušaju kompajliranja iskočio dependency na boost. Ne pada mi napamet još i boost stavljati...
P.S.
Nije ovo prvi puta da sam nešto unutar Code::Blocksa morao prepravljati. I onda mi netko priča o bugovima unutar DevCppa, ma dajte...
Pozdrav,
evo imam jedan zadačić koji baš i ne uspijevam riješiti, makar je dosta jednostavan, može se riješiti samo pomoću for petlji.
Treba napisati program koji će pomoću dvodimenzionalng niza a[10][10] dobiti ovakvu tablicu:
1 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0
1 2 1 0 0 0 0 0 0 0 0
1 3 3 1 0 0 0 0 0 0 0
1 4 6 4 1 0 0 0 0 0 0
1 5 10 10 5 1 0 0 0 0 0
.....
Moj program glasi ovako:
#include <iostream>
#include <iomanip>
using namespace std;
int main () {
int a [10][10] ={ {1,0,0,0,0,0,0,0,0,0},
{1,1,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0}
};
for (int b = 0; b <= 1; ++b){
for (int c = 0; c<=9; ++c){
cout << setw(4) <<a[b][c];
}
cout << endl;
cout << endl;
}
for (int i = 2; i <= 9; ++i){
for (int j = 0; j <= 9; ++j){
a [i][j]= (a[i-1][j-1])+ (a[i-1][j]);
cout << setw(4) <<a[i][j];
}
cout << endl;
cout << endl;
}
}
E sad me zanima kako napisati jednostavniji program ( ili kompliciraniji :D ), budući da sam ja "varao" i prva dva reda ispisao odmah pomoću petlje,a ne pomoću računanja, te sam u drugom redu kod inicijaliziranja niza napisao 1,1,0,0.......
Zahvaljujem.
Ne, za Android ti treba Java programski jezik. Ima nešto i u C++ Builder-u, ali za to čekaj Tracer-a.
Ispada da može. :D
Za C/C++ na Androidu ti treba NDK. Iako, zbilja ne znam za sto ce ti to, u 90% slucajeva nema potrebe za time. Stvari koje bi eventualno profitirale od C++ koda su CPU-intenzivne operacije koje ne zahtjevaju puno (re)alokacija memorije, tipa procesiranje signala, simulacija fizike i sl.
"Before downloading the NDK, you should understand that the NDK will not benefit most apps. As a developer, you need to balance its benefits against its drawbacks. Notably, using native code on Android generally does not result in a noticable performance improvement, but it always increases your app complexity. In general, you should only use the NDK if it is essential to your app—never because you simply prefer to program in C/C++."
a koja je razlika između paketa juno,indigo,helios...?
Hej ljudi,
Idem 2.razred srednje škole i sad smo već počeli malo programirati, zadatak je bio da zbrojimo dva broja. U školi mi je to normalnu uspijevalo, no doma mi neće. Ovo je program:
#include <stdio.h>
main() { int a,b,z;
printf("Upisi dva pribrojnika");
scanf("%d %d",&a, &b);
z=a+b;
printf("%d+%d=%d"a,b,z);
}
A ovo su greške koje izbacuje: error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users\doma\documents\visual studio 2008\projects\a1\a1\a1.cpp(7) : error C2146: syntax error : missing ')' before identifier 'a' 1>c:\users\doma\documents\visual studio 2008\projects\a1\a1\a1.cpp(7) : error C2059: syntax error : ')' Hvala unaprijed
Hej ljudi,
Idem 2.razred srednje škole i sad smo već počeli malo programirati, zadatak je bio da zbrojimo dva broja. U školi mi je to normalnu uspijevalo, no doma mi neće. Ovo je program:
#include <stdio.h>
main() { int a,b,z;
printf("Upisi dva pribrojnika");
scanf("%d %d",&a, &b);
z=a+b;
printf("%d+%d=%d"a,b,z);
}
A ovo su greške koje izbacuje: error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users\doma\documents\visual studio 2008\projects\a1\a1\a1.cpp(7) : error C2146: syntax error : missing ')' before identifier 'a' 1>c:\users\doma\documents\visual studio 2008\projects\a1\a1\a1.cpp(7) : error C2059: syntax error : ')' Hvala unaprijed
Na brzinu pogledao, cini mi se da ti fali zarez u kod printf-a, i stavi void main() za prvi error
(...)
probaj ovako:
#include <stdio.h>
int main() {
int a,b,z;
printf("Upisi dva pribrojnika\n");
scanf("%d %d",&a, &b);
z=a+b;
printf("%d+%d=%d\n",a,b,z);
return 0;
}
ili ovako:
#include <stdio.h>
int main() {
int a,b;
printf("Upisi dva pribrojnika\n");
scanf("%d %d",&a, &b);
printf("%d+%d=%d\n",a,b,a+b);
return 0;
}
meni rade oba
(testirano u dev c++-u i codeblocksu)
...
1. Neuredan kod, to bi trebalo ovako formatirati:
#include <stdio.h>
int main()
{
int a, b, z;
printf("Upisi dva pribrojnika ");
scanf("%d %d", &a, &b);
z=a+b;
printf("%d+%d=%d", a, b, z);
return 0;
}
2. Ne ide "main()", nego "int main()"
3. U funkciji printf nisi stavio zarez između prvog i drugog argumenta (u gornjem sam kodu žutom bojom označio na koji zarez mislim).
a koja je razlika između paketa juno,indigo,helios...?
U verziji, to su nazivi razlicitih verzija.
Indigo je verzija 3.7, Juno je 4.2 itd.
Na Wikipediji je to lijepo sroceno.
evo gledam ovo
http://tools.android.com/recent/usingthendkplugin
piše da treba eclipse za javu, ali ne piše jel trebam skinit eclipse for java EE developers, for java developers ili klasični
evo gledam ovo
http://tools.android.com/recent/usingthendkplugin
piše da treba eclipse za javu, ali ne piše jel trebam skinit eclipse for java EE developers, for java developers ili klasični
Svejedno ti je, razlika je samo u ponudenim pluginovima, koje ovako i onako mozes naknadno dodavati/brisati. Ja koristim Eclipse IDE for Java Developers jer dolazi s Git pluginom i XML Editorom (nema meni hrpu nepotrebnih stvari koje ima recimo EE).
Funkciju modificirajte tako da bude tipa int, vraća zbroj svih cijelih brojeva koje korisnik unese
ili nulu ako među unesenim podacima nema cijelih brojeva.
Kako u c++ mogu provjeriti dal je korisnik unio cijele brojeve? unosim 4 vrijednosti s tim da prva vrijednost su znakovi, druga je neki decimalni broj, treca i cetvrta jesu cijeli brojevi
Funkciju modificirajte tako da bude tipa int, vraća zbroj svih cijelih brojeva koje korisnik unese
ili nulu ako među unesenim podacima nema cijelih brojeva.
Kako u c++ mogu provjeriti dal je korisnik unio cijele brojeve? unosim 4 vrijednosti s tim da prva vrijednost su znakovi, druga je neki decimalni broj, treca i cetvrta jesu cijeli brojevi
int i;
while(!(cin >> i))
{
cout << "Krivo! Unesi integer! ";
cin.clear();
}
Trebalo bi sljakati.
EDIT: NE sljaka.
Evo rjesenje s castanjem (jos bi bilo dobro provjeriti da input nije slovo):
#include <iostream>
using namespace std;
int main()
{
double num;
cin >> num;
if (num != static_cast<int>(num))
{
cout << "Nije integer!";
}
else
{
cout << "Integer";
}
return 0;
}
Funkciju modificirajte tako da bude tipa int, vraća zbroj svih cijelih brojeva koje korisnik unese
ili nulu ako među unesenim podacima nema cijelih brojeva.
Kako u c++ mogu provjeriti dal je korisnik unio cijele brojeve? unosim 4 vrijednosti s tim da prva vrijednost su znakovi, druga je neki decimalni broj, treca i cetvrta jesu cijeli brojevi
int i;
while(!(cin >> i))
{
cout << "Krivo! Unesi integer! ";
cin.clear();
}
Trebalo bi sljakati.
EDIT: NE sljaka.
int F_40008(t40008 *lista){
t40008 *novi,*zadnji;
zadnji = lista;
while (zadnji->sljedeci)
zadnji = zadnji->sljedeci;
novi = new t40008;
zadnji -> sljedeci = novi;
novi -> sljedeci = NULL;
cout << "treca: "; cin >> novi -> treca;
cout << "prva: "; cin >> novi -> prva;
cout << "sedma: "; cin >> novi -> sedma;
cout << "druga: "; cin >> novi -> druga;
};
sad bi ja trebao poslije ovih unosa ispitati varijable treca,prva,sedma,druga
treca je char npr VCU
prva je float npr 5.9
sedma i druga jesu int npr. 27 , 28
Funkciju modificirajte tako da bude tipa int, vraća zbroj svih cijelih brojeva koje korisnik unese
ili nulu ako među unesenim podacima nema cijelih brojeva.
Kako u c++ mogu provjeriti dal je korisnik unio cijele brojeve? unosim 4 vrijednosti s tim da prva vrijednost su znakovi, druga je neki decimalni broj, treca i cetvrta jesu cijeli brojevi
int i;
while(!(cin >> i))
{
cout << "Krivo! Unesi integer! ";
cin.clear();
}
Trebalo bi sljakati.
EDIT: NE sljaka.
Zaboravio si cin.ignore ...
Neznam da li na isto mislimo...
Zadatak glasi ovako:
Izvršite traženu modifikaciju u programu:
Funkciju F_40008 modificirajte tako da bude tipa int, vraća zbroj svih cijelih brojeva koje korisnik unese ili nulu ako među unesenim podacima nema cijelih brojeva. Vrijednost funkcije F_40008 ispišite unutar funkcije main.
Varijable treca ,prva , sedma , druga ja vec imam određene u jednoj txt datoteki i bas te vrijednosti ja moram unijeti.
treca prva sedma druga
VCU 5.9 27 28
GNF 8.2 90 91
RYQ 1.5 53 54
CJB 4.8 16 17
kod:
#include <iostream>
#include <fstream>
#include "biblioteka_vrijeme.cc"
using namespace std;
struct t40008{
char treca[41];
float prva;
int sedma;
int druga;
t40008 *sljedeci;
};//struct
void zadatak(){
int i,b,broj;
fstream dat;
dat.open ("Podaci_za_testiranje.txt",ios::out);
b = 41 % 2 + 3;
dat << "treca\t";
dat << "prva\t";
dat << "sedma\t";
dat << "druga\t";
dat << endl;
for (i=1;i<=b;i++){
broj = (41 + i + b) * 63 + 1127;
dat << char(broj%26+65) << char((broj+7)%26+65) << char((broj+77)%26+65) << "\t";
dat << broj++ % 10 << "." << (broj++ +43) % 10 << "\t";
dat << broj++ % 100 << "\t";
dat << broj++ % 100 << "\t";
dat << endl;
}//for
dat.close();dat.clear();
cout << "Otvorite najprije datoteku 'Podaci_za_testiranje.txt' !" << endl;
};
void F_40008(t40008 *lista){
int zbroj=0;
t40008 *novi,*zadnji;
zadnji = lista;
while (zadnji->sljedeci)
zadnji = zadnji->sljedeci;
novi = new t40008;
zadnji -> sljedeci = novi;
novi -> sljedeci = NULL;
cout << "treca: "; cin >> novi -> treca;
cout << "prva: "; cin >> novi -> prva;
cout << "sedma: "; cin >> novi -> sedma;
cout << "druga: "; cin >> novi -> druga;
};
float F_41(t40008 *lista){
float suma=0;
t40008 *tekuci = lista -> sljedeci;
while (tekuci){
cout << "treca: " << tekuci -> treca << endl;
cout << "prva: " << tekuci -> prva << endl;
cout << "sedma: " << tekuci -> sedma << endl;
cout << "druga: " << tekuci -> druga << endl;
cout << "---------------------" << endl;
tekuci = tekuci -> sljedeci;
suma += 41 % 10;
};
return suma;
};
int main(){
zadatak();
char dalje;
t40008 *lista = new t40008;
lista -> sljedeci = NULL;
do{
F_40008(lista);
cout << "Dalje (d/n)? ";
cin >> dalje;
} while (dalje=='d');
cout << "--------" << endl;
F_41(lista);
cout << "----------------------------------------------" << endl;
cout << "int = " << sizeof(int) << " b" << endl;
cin >> dalje;
}