Kezdőlap › Fórumok › Programozás › tömbök, mutatók,…stb (C++)
- This topic has 16 hozzászólás, 4 résztvevő, and was last updated 17 years, 5 months telt el by
kisbetu.
-
SzerzőBejegyzés
-
2008-02-14-21:16 #2154301
Tarolni lehet:
statikusan: bejelentesz egy 10 elemu tombot, melynek az elemei a vektoraid.
dinamikusan: lefoglalsz neki memoriat, es a mutatojat eltarolod valahol (pl. bepakolod egy tombbe (esetleg vektorba :D))Kodreszletekkel talan jobban ertnem, hogy hogyan akarod csinalni.
2008-02-14-21:16 #2154302Tarolni lehet:
statikusan: bejelentesz egy 10 elemu tombot, melynek az elemei a vektoraid.
dinamikusan: lefoglalsz neki memoriat, es a mutatojat eltarolod valahol (pl. bepakolod egy tombbe (esetleg vektorba :D))Kodreszletekkel talan jobban ertnem, hogy hogyan akarod csinalni.
2008-02-14-21:18 #2154303Én tömböt (tömböket?) nyitnék nekik, abba táplálnám bele, aztán a tömbindexszel kiszedegetném.
Persze, ha a kikapcsolás idejére kell eltárolni, akkor valamiféle file a megoldás.2008-02-14-21:18 #2154304Én tömböt (tömböket?) nyitnék nekik, abba táplálnám bele, aztán a tömbindexszel kiszedegetném.
Persze, ha a kikapcsolás idejére kell eltárolni, akkor valamiféle file a megoldás.2008-02-14-21:45 #2154305jol hangzik, csak kod formaba kellene onteni. foleg ehhez kellene segitseg…
itt a vektor generalas:
Code:#include
#include
#include
#includeusing namespace std;
const float M_2PIf = 6.283185307179586476925286766559f;
const float M_PIf = 3.141592653589793238462643383279f;float rand(float min, float max)
{
return min + (max – min) * rand() / (float)RAND_MAX;
}int main()
{int i;
for (i=0;i<10;i++)
{
float z = rand(-1.0f, 1.0f);
float a = rand(0.0f, M_2PIf);float r = sqrtf(1.0f – z*z);
float x = r * cosf(a);
float y = r * sinf(a);
cout << x << " " << y << " " << z << endl;}
return 0;
}2008-02-14-21:45 #2154306jol hangzik, csak kod formaba kellene onteni. foleg ehhez kellene segitseg…
itt a vektor generalas:
Code:#include
#include
#include
#includeusing namespace std;
const float M_2PIf = 6.283185307179586476925286766559f;
const float M_PIf = 3.141592653589793238462643383279f;float rand(float min, float max)
{
return min + (max – min) * rand() / (float)RAND_MAX;
}int main()
{int i;
for (i=0;i<10;i++)
{
float z = rand(-1.0f, 1.0f);
float a = rand(0.0f, M_2PIf);float r = sqrtf(1.0f – z*z);
float x = r * cosf(a);
float y = r * sinf(a);
cout << x << " " << y << " " << z << endl;}
return 0;
}2008-02-14-22:00 #2154307En igy csinalnam:
Keszitunk egy vektor tipust, mert azzal talan konnyebb dolozni:
Code:struct vektor {
float x,y,z;
};10 vektorunk lesz, ezert a legkenyelmesebb statikusan tarolni:
Code:int main() {
// a 10 vektor:
vektor tar[10];int i;
for (i=0;i<10;i++)
{float z = rand(-1.0f, 1.0f);
float a = rand(0.0f, M_2PIf);float r = sqrtf(1.0f – z*z);
float x = r * cosf(a);
float y = r * sinf(a);cout << x << " " << y << " " << z << endl;
// taroljuk el
tar[I].x = x;
tar[I].y = y;
tar[I].z = z;}
return 0;
}Ha meg ossze akarjuk oket szorozni, akkor peldaul egy ilyen fuggveny pont megfelel:
Code:float szoroz(const vektor a, const vektor b){
// itt csinalsz vele amit akarsz
return valami;
}A fuggveny hasznalata:
Code:float t = szoroz(tar[1], tar[2]);Nehany megjegyzes:
– amit irtam, az sima C ; C++ nem kell hozza (a kiiratast leszamitva)
– a fuggvenyhivast lehet egy kicsit gyorsitani (mar ilyen kis vektor struktura meretnel nem biztos, hogy megeri) mutatok hasznalatavalSzerk:
a WYSIWTF szerkeszto miert irja at a [ i ] -t [ I ] -re ?2008-02-14-22:00 #2154308En igy csinalnam:
Keszitunk egy vektor tipust, mert azzal talan konnyebb dolozni:
Code:struct vektor {
float x,y,z;
};10 vektorunk lesz, ezert a legkenyelmesebb statikusan tarolni:
Code:int main() {
// a 10 vektor:
vektor tar[10];int i;
for (i=0;i<10;i++)
{float z = rand(-1.0f, 1.0f);
float a = rand(0.0f, M_2PIf);float r = sqrtf(1.0f – z*z);
float x = r * cosf(a);
float y = r * sinf(a);cout << x << " " << y << " " << z << endl;
// taroljuk el
tar[I].x = x;
tar[I].y = y;
tar[I].z = z;}
return 0;
}Ha meg ossze akarjuk oket szorozni, akkor peldaul egy ilyen fuggveny pont megfelel:
Code:float szoroz(const vektor a, const vektor b){
// itt csinalsz vele amit akarsz
return valami;
}A fuggveny hasznalata:
Code:float t = szoroz(tar[1], tar[2]);Nehany megjegyzes:
– amit irtam, az sima C ; C++ nem kell hozza (a kiiratast leszamitva)
– a fuggvenyhivast lehet egy kicsit gyorsitani (mar ilyen kis vektor struktura meretnel nem biztos, hogy megeri) mutatok hasznalatavalSzerk:
a WYSIWTF szerkeszto miert irja at a [ i ] -t [ I ] -re ?2008-02-14-22:47 #2154309jo, koszi.
meg annyi, hogy van egy olyan matrixosztalyom, h:
Code:template class Matrix {
public:Z *A; //!< Pointer to the matrix elements
unsigned int M; //!< Number of Rows
unsigned int N; //!< Number of ColumnsMatrix(Z *elements ,unsigned int Rows, unsigned int Cols);
…stb
es definialok igy matrixokat pl:
Code:float a[] = {1,1,1};
float b[] = {1,1,1};Matrix A(a,3,1);
Matrix B(b,1,3);
akkor a fenti tombos esetben hogyan tudom megadni pl. a Matrix A() -t ?
gondolom akkor nem az lesz h a[] = {1,1,1}, hanem (ezt nem tudom) : tar[1] = {};
2008-02-14-22:47 #2154310jo, koszi.
meg annyi, hogy van egy olyan matrixosztalyom, h:
Code:template class Matrix {
public:Z *A; //!< Pointer to the matrix elements
unsigned int M; //!< Number of Rows
unsigned int N; //!< Number of ColumnsMatrix(Z *elements ,unsigned int Rows, unsigned int Cols);
…stb
es definialok igy matrixokat pl:
Code:float a[] = {1,1,1};
float b[] = {1,1,1};Matrix A(a,3,1);
Matrix B(b,1,3);
akkor a fenti tombos esetben hogyan tudom megadni pl. a Matrix A() -t ?
gondolom akkor nem az lesz h a[] = {1,1,1}, hanem (ezt nem tudom) : tar[1] = {};
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz