Kezdőlap › Fórumok › Programozás › matrix osztaly osszeadasra
- This topic has 178 hozzászólás, 8 résztvevő, and was last updated 17 years, 4 months telt el by
uzsolt.
-
SzerzőBejegyzés
-
2008-02-26-19:51 #2154729
„U.I.: hova tunt a hozzaszolas elonezete? Megint egy bug?”
Biztosan azért van mert sietsz.
2008-02-26-19:51 #2154730„U.I.: hova tunt a hozzaszolas elonezete? Megint egy bug?”
Biztosan azért van mert sietsz.
2008-02-26-21:14 #2154731kedves zoltan22, valahogy igy gondoltam az egeszet (de nyilvan valami hibas benne, mondjuk a „kiiratas” resz nelkul hibatlanul lefordul…)
Code:#include
#include
#include
#include
#includeusing namespace std;
const float M_2PIf = 6.283185307179586476925286766559f;
const float M_PIf = 3.141592653589793238462643383279f;/* —————–RANDOM_GENERATOR——————————- */
float rand(float min, float max)
{
return min + (max – min) * rand() / (float)RAND_MAX;
}
/*——————————————————————*/struct vektor {
float x,y,z;
};/* ——————MATRIX_CLASS———————————–*/
class Matrix {private:
float tomb[3][3];public:
void init(vektor &a){tomb[0][0] = a.x * a.x;
tomb[0][1] = a.x * a.y;
tomb[0][2] = a.x * a.z;
tomb[1][0] = a.y * a.x;
tomb[1][1] = a.y * a.y;
tomb[1][2] = a.y * a.z;
tomb[2][0] = a.z * a.x;
tomb[2][1] = a.z * a.y;
tomb[2][2] = a.z * a.z;
}Matrix &operator +=(Matrix m){
int k,l;
for(k=0; k<3; k++)
for(l=0; l<3; l++)
tomb[k][l] += m.tomb[k][l];
return *this;
}Matrix &operator/=(float c){
int k,l;
for(k=0; k<3; k++)
for(l=0; l<3; l++)
tomb[k][l] /= c;
return *this;
}};
/* ——————————————————————– */
int main() {
int i,j;
vektor tar[5];
for (i = 0;i<5;i++) {
float phi = rand(0.0f, M_2PIf);
float costheta = rand(-1.0f, 1.0f);
float x = 1.0f * sqrtf(1-costheta*costheta) * cosf(phi);
float y = 1.0f * sqrtf(1-costheta*costheta) * sinf(phi);
float z = 1.0f * costheta;tar[I].x = x;
tar[I].y = y;
tar[I].z = z;}
Matrix m[5];
for (i=0;i<5;i++) {
m[I].init(tar[I]);
}Matrix sum = m[0];
for (i=0;i<5;i++) {
sum += m[I];
}
sum /= 5;
// kiiratas
for(i=0;i<3;i++)
{
printf ("n");
for (j=0;j<3;j++)
{
printf (valami[I][j]);
}
}return 0;
}[/I][/I][/I][/I][/I][/I][/I]
2008-02-26-21:14 #2154732kedves zoltan22, valahogy igy gondoltam az egeszet (de nyilvan valami hibas benne, mondjuk a „kiiratas” resz nelkul hibatlanul lefordul…)
Code:#include
#include
#include
#include
#includeusing namespace std;
const float M_2PIf = 6.283185307179586476925286766559f;
const float M_PIf = 3.141592653589793238462643383279f;/* —————–RANDOM_GENERATOR——————————- */
float rand(float min, float max)
{
return min + (max – min) * rand() / (float)RAND_MAX;
}
/*——————————————————————*/struct vektor {
float x,y,z;
};/* ——————MATRIX_CLASS———————————–*/
class Matrix {private:
float tomb[3][3];public:
void init(vektor &a){tomb[0][0] = a.x * a.x;
tomb[0][1] = a.x * a.y;
tomb[0][2] = a.x * a.z;
tomb[1][0] = a.y * a.x;
tomb[1][1] = a.y * a.y;
tomb[1][2] = a.y * a.z;
tomb[2][0] = a.z * a.x;
tomb[2][1] = a.z * a.y;
tomb[2][2] = a.z * a.z;
}Matrix &operator +=(Matrix m){
int k,l;
for(k=0; k<3; k++)
for(l=0; l<3; l++)
tomb[k][l] += m.tomb[k][l];
return *this;
}Matrix &operator/=(float c){
int k,l;
for(k=0; k<3; k++)
for(l=0; l<3; l++)
tomb[k][l] /= c;
return *this;
}};
/* ——————————————————————– */
int main() {
int i,j;
vektor tar[5];
for (i = 0;i<5;i++) {
float phi = rand(0.0f, M_2PIf);
float costheta = rand(-1.0f, 1.0f);
float x = 1.0f * sqrtf(1-costheta*costheta) * cosf(phi);
float y = 1.0f * sqrtf(1-costheta*costheta) * sinf(phi);
float z = 1.0f * costheta;tar[I].x = x;
tar[I].y = y;
tar[I].z = z;}
Matrix m[5];
for (i=0;i<5;i++) {
m[I].init(tar[I]);
}Matrix sum = m[0];
for (i=0;i<5;i++) {
sum += m[I];
}
sum /= 5;
// kiiratas
for(i=0;i<3;i++)
{
printf ("n");
for (j=0;j<3;j++)
{
printf (valami[I][j]);
}
}return 0;
}[/I][/I][/I][/I][/I][/I][/I]
2008-02-26-21:22 #2154733jules wrote:Code:// kiiratas
for(i=0;i<3;i++)
printf (valami[I][j]);i vagy I?
2008-02-26-21:22 #2154734jules wrote:Code:// kiiratas
for(i=0;i<3;i++)
printf (valami[I][j]);i vagy I?
2008-02-26-21:27 #2154735kisbetu wrote:jules wrote:Code:// kiiratas
for(i=0;i<3;i++)
printf (valami[I][j]);i vagy I?
Mér’ te is megnőttél az idők folyamán?! 🙂
Az „i” miért ne tehetné?2008-02-26-21:27 #2154736kisbetu wrote:jules wrote:Code:// kiiratas
for(i=0;i<3;i++)
printf (valami[I][j]);i vagy I?
Mér’ te is megnőttél az idők folyamán?! 🙂
Az „i” miért ne tehetné?2008-02-26-21:30 #2154737termeszetesen i. a
Code:ikimenete valamiert I.
2008-02-26-21:30 #2154738termeszetesen i. a
Code:ikimenete valamiert I.
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz