Big Bug Ban

兴趣 践行 创新

数值分析–4–高斯消元法(1)

 

/*
* For:    Histogiagram
* File:   diagram.h
* Author: princehaku
*
* Created on 2009
103下午3:31

*/

#ifndef diagram_H
#define diagram_H

namespace diagram {
class DIAGRAM_T {
private:
//行数
int rows;
//
列数
int cols;                                                                         //
二维矩阵
double DIAGRAM[30][30];
public:
DIAGRAM_T(int rowsint cols) {
this->rows rows;
this->cols cols;
//
申请矩阵存储空间
//this->DIAGRAM=(int **)(new int[rows*cols]);
//~ int **DIAGRAM= new int*[rows+3]; //
第一维,
//~ 
//~ for( int i=0; i<rows; i++)
//~ {
//~ DIAGRAM[i] = new int[cols+3];  //
分配第二维,每一行的空间。
//~ } 
//~ //
溢出

//~ if (!DIAGRAM) {
//~ cout << "Out of Memory";
//~ }
}

/**
+———————————————————-
得到单元格值
+———————————————————-
@access public
+———————————————————-
@param integer rows  

@param integer rows  

+———————————————————-
@return int
+———————————————————-
*/

double getValue(int rowint col) {
return this->DIAGRAM[row 1][col 1];
}
/**
+———————————————————-
设定某单元格的值
+———————————————————-
@access public
+———————————————————-
@param integer rows  

@param integer rows  

@param integer value 

+———————————————————-
@return bool
+———————————————————-
*/

bool setValue(int rowsint colsdouble value) {            
this->DIAGRAM[rows 1][cols 1] = value;
//cout<<"rows"<<rows<<"cols"<<cols<<"cg to"<<value<<endl;
return true;
}
/**
+———————————————————-
转置矩阵
+———————————————————-
@access public
+———————————————————-
@return bool
+———————————————————-
*/

bool transpose() {
double tmp;
for (int 0this->rowsi++) {
for (int 0this->colsj++) {
if (j) {
tmp this->DIAGRAM[i][j];
this->DIAGRAM[i][j] = this->DIAGRAM[j][i];
this->DIAGRAM[j][i] = tmp;
}
}
}
return true;
}


/**
+———————————————————-
列交换
+———————————————————-
@access public
+———————————————————-
@return bool
+———————————————————-
*/

bool l(int rowA,int rowB) {
double tmp;

for (int 0this->colsj++) {
tmp=this->DIAGRAM[rowA1][j];
this->DIAGRAM[rowA1][j]=this->DIAGRAM[rowB1][j];
this->DIAGRAM[rowB1][j]=tmp;
}

return true;
}
/**
+———————————————————-
行交换
+———————————————————-
@access public
+———————————————————-
@return bool
+———————————————————-
*/

bool h(int colA,int colB) {
double tmp;

for (int 0this->rowsi++) {
tmp=this->DIAGRAM[i][colA1];
this->DIAGRAM[i][colA1]=this->DIAGRAM[i][colB1];
this->DIAGRAM[i][colB1]=tmp;
}

return true;
}
/**
+———————————————————-
打印矩阵
+———————————————————-
@access public
+———————————————————-
@return void
+———————————————————-
*/

void print_g() {

for (int 0this->rowsi++) {
for (int 0this->colsj++) {
cout << this->DIAGRAM[i][j] << "  ";
}
cout << endl;
}
}

Written by princehaku

10月 15th, 2009 at 10:22 上午

Posted in c/c++

without comments

Leave a Reply