Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабы по МПО / Sissy_Metr / frfe / 2 / LAB
.CPP#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();
}
}