Скачиваний:
16
Добавлен:
01.05.2014
Размер:
3.96 Кб
Скачать

Turbo Profiler  Version 2.1  Tue Mar 30 13:50:13 2004

Program: D:\BORLANDC\BIN\LAB.EXE  File METROL~1\LAB.CPP

Time  Counts
              #include <iostream.h>
              #include <conio.h>
              #define rmax 5
              #define cmax 5
              
              
              
              typedef float ary[ rmax ];
              typedef float arys[ cmax ];
              typedef float ary2[ rmax ][ cmax ];
              typedef float ary2s[ cmax ][ cmax ];
              
               ary    y;
               arys   g;
               ary2   x;
               ary2s  a;
               int  nrow,ncol;
              
              
0.0000 1      void get_data( ary2 x, ary  y, int &nrow, int &ncol)
              
              // get the values for nrow, ncol, and arrays x,y
               {
                int i,j,s;
              
0.0000 1        nrow = 2; // this value can be chaged
0.0000 1        ncol = 2;
              
0.0000 1        for ( i = 0; i < nrow ; i++)
                  {
0.0000 2              x[i][0] = 1;
0.0000 2           for ( j = 1; j < ncol ; j++)
0.0000 2                x[i][j] = i * x[i][j-1];
0.0000 2              s = i+1;
0.0000 2              y[i] = 2 * s;
                  }
0.0000 1       } // procedure get_data
              
              
0.0000 1      void write_data()
              
              // print out the answeres
               {
              
                int i,j;
              
              //  clrscr();
              /*  cout <<"\n";
                cout <<"\n   X         Y\n\n\n";*/
              
0.0000 1        for ( i = 0; i < nrow ; i++)
                  {
0.0000 2           for ( j = 0; j < ncol ; j++)
                        {}
              
              /*       cout <<x[i][j] <<"    ";
                     cout <<": "<<y[i] <<"\n\n\n";*/
                  }
              


Turbo Profiler  Version 2.1  Tue Mar 30 13:50:13 2004

              /*   cout <<"\n\n   A         G\n\n\n";*/
              
0.0000 1        for ( i = 0; i < ncol ; i++)
                  {
0.0000 2           for ( j = 0; j < ncol ; j++)
                    { }
              /*       cout << a[i][j]<<"    ";
                     cout <<": " << g[i] <<"\n\n\n";*/
              
                  }
0.0000 1      }//     write_data
                                              
              
0.0000 1      void square(ary2   x,
                          ary    y,
                          ary2s  a,
                          arys   g,
                          int nrow,
                          int ncol)
              
              //matrix multiplication routine
              // a= transpose x times x
              // g= y times x
               {
              
              
                int i,k,l;
                // square
0.0000 1        for ( k = 0; k < ncol ; k++)
                  {
0.0000 2           for ( l = 0; l < k ; l++)
                      {
0.0000 1                  a[k][l] = 0;
0.0000 1                  for ( i = 0; i < nrow ; i++)
                              {
0.0000 2                        a[k][l] = a[k][l] + x[i][l] * x[i][k];
0.0000 2                        if  (k != l) a[l][k] = a[k][l];
                              }
                      }           // l-loop
              
0.0000 2               g[k] = 0;
              
0.0000 2           for ( i = 0; i < nrow ; i++)
                     {
0.0000 4                g[k] = g[k] + y[i] * x[i][k];
                     }
                  }   // k-loop
0.0000 1       }    // square
              
              
              void main()
               {
0.0000 1        get_data(x,y,nrow,ncol);
0.0000 1        square(x,y,a,g,nrow,ncol);
0.0000 1        write_data();
              //  getch();
0.0009 1       }
              
              
Соседние файлы в папке 2