コード例 #1
0
ファイル: matrix.cpp プロジェクト: jbongard/cords
MATRIX *MATRIX::DecimalToBinary(int val, int maxValue) {

	int power = 0;

	while ( (maxValue - pow(2.0,power)) >= 0 ) {

		power = power + 1;
	}

	MATRIX *binaryVal = new MATRIX(1,power,0);

	while ( val > 0 ) {

		power = 0;

		while ( (val - pow(2.0,power)) >= 0 ) {

			power = power + 1;
		}

		binaryVal->Set(0,binaryVal->width-power,1);
		val = val - int(pow(2.0,power-1));
	}

	return( binaryVal );
}
コード例 #2
0
ファイル: matrix.cpp プロジェクト: jbongard/cords
MATRIX *MATRIX::GetRow(int i) {

	MATRIX *row = new MATRIX(1,width);

	for (int currColumn=0;currColumn<width;currColumn++)
		row->Set(0,currColumn,Get(i,currColumn));

	return( row );
}
コード例 #3
0
ファイル: matrix.cpp プロジェクト: jbongard/cords
MATRIX *MATRIX::GetColumn(int j) {

	MATRIX *column = new MATRIX(length,1);

	for (int currRow=0;currRow<length;currRow++)
		column->Set(currRow,0,Get(currRow,j));

	return( column );
}
コード例 #4
0
ファイル: matrix.cpp プロジェクト: jbongard/cords
void MATRIX::SelectUniquelyFrom(int maxVal) {

	MATRIX *chosen = new MATRIX(1,maxVal,0);
	int j;
	int chosenVal;

	for (j=0;j<width;j++) {

		chosenVal = RandInt(0,maxVal-1);

		while ( chosen->Get(0,chosenVal) )
			chosenVal = RandInt(0,maxVal-1);

		Set(0,j,chosenVal);
		chosen->Set(0,chosenVal,1);
	}

	delete chosen;
	chosen = NULL;
}