Скачиваний:
16
Добавлен:
01.05.2014
Размер:
1.99 Кб
Скачать
#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;


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;

  nrow = 2; // this value can be chaged
  ncol = 2;

  for ( i = 0; i < nrow ; i++)
    {
	x[i][0] = 1;
     for ( j = 1; j < ncol ; j++)
	  x[i][j] = i * x[i][j-1];
	s = i+1;
	y[i] = 2 * s;
    }
 } // procedure get_data


void write_data()

// print out the answeres
 {

  int i,j;

  clrscr();
/*  cout <<"\n";
  cout <<"\n   X         Y\n\n\n";*/

  for ( i = 0; i < nrow ; i++)
    {
     for ( j = 0; j < ncol ; j++)
          continue;
/*       cout <<x[i][j] <<"    ";
       cout <<": "<<y[i] <<"\n\n\n";*/
    }

/*   cout <<"\n\n   A         G\n\n\n";*/

  for ( i = 0; i < ncol ; i++)
    {
     for ( j = 0; j < ncol ; j++)
       continue;
/*       cout << a[i][j]<<"    ";
       cout <<": " << g[i] <<"\n\n\n";*/

    }
}//	write_data
                               	

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
  for ( k = 0; k < ncol ; k++)
    {
     for ( l = 0; l < k ; l++)
	{
	    a[k][l] = 0;
	    for ( i = 0; i < nrow ; i++)
		{
		  a[k][l] = a[k][l] + x[i][l] * x[i][k];
		  if  (k != l) a[l][k] = a[k][l];
		}
	}	    // l-loop

	 g[k] = 0;

     for ( i = 0; i < nrow ; i++)
       {
	  g[k] = g[k] + y[i] * x[i][k];
       }
    }   // k-loop
 }    // square


void main()
 {
 for (i=1; i< 1000; i++)
   {
    get_data(x,y,nrow,ncol);
     square(x,y,a,g,nrow,ncol);
     write_data();
   }
 }


Соседние файлы в папке 2