matrix osztaly osszeadasra

Kezdőlap Fórumok Programozás matrix osztaly osszeadasra

10 bejegyzés megtekintése - 111-120 / 179
  • Szerző
    Bejegyzés
  • #2154729
    admin
    Adminisztrátor

      „U.I.: hova tunt a hozzaszolas elonezete? Megint egy bug?”

      Biztosan azért van mert sietsz. rolleyes.gif

      #2154730
      admin
      Adminisztrátor

        „U.I.: hova tunt a hozzaszolas elonezete? Megint egy bug?”

        Biztosan azért van mert sietsz. rolleyes.gif

        #2154731
        jules
        Felhasználó

          kedves zoltan22, valahogy igy gondoltam az egeszet (de nyilvan valami hibas benne, mondjuk a „kiiratas” resz nelkul hibatlanul lefordul…)

          Code:
          #include  
          #include
          #include
          #include
          #include

          using 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]

          #2154732
          jules
          Felhasználó

            kedves zoltan22, valahogy igy gondoltam az egeszet (de nyilvan valami hibas benne, mondjuk a „kiiratas” resz nelkul hibatlanul lefordul…)

            Code:
            #include  
            #include
            #include
            #include
            #include

            using 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]

            #2154733
            kisbetu
            Felhasználó
              jules wrote:
              Code:
              // kiiratas
              for(i=0;i<3;i++)
                printf (valami[I][j]);

              i vagy I?

              #2154734
              kisbetu
              Felhasználó
                jules wrote:
                Code:
                // kiiratas
                for(i=0;i<3;i++)
                  printf (valami[I][j]);

                i vagy I?

                #2154735
                admin
                Adminisztrátor
                  kisbetu 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é?

                  #2154736
                  admin
                  Adminisztrátor
                    kisbetu 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é?

                    #2154737
                    jules
                    Felhasználó

                      termeszetesen i. a

                      Code:
                      i

                      kimenete valamiert I.

                      #2154738
                      jules
                      Felhasználó

                        termeszetesen i. a

                        Code:
                        i

                        kimenete valamiert I.

                      10 bejegyzés megtekintése - 111-120 / 179
                      • Be kell jelentkezni a hozzászóláshoz.