*해당 문서는 미리보기가 지원되지 않습니다.
소개글
c++의 기본을 다질 수 있는 vector와 matrix 클래스를 구현해 놓은 것입니다.vector와 matrix를 클래스로 구현해 놓았고, main()함수에서 간단한 예제로
matrix m1, m2를 입력 받아서 매트릭스의 곱을 구하는 예제를 구현해 놓았습니다.
m1을 2 by 3 size 로 입력하고, m2를 3 by 2 size로 입력해서 각각 성분을 입력하면 그 곱을 구하는 예제입니다.
물론 예제는 사용자가 얼마든지 응용할 수 있겠죠, 중요한 건 vector와 matrix를 class로 잘 구현해 놓았다는 거죠.
잘 동작되는지는 충분히 검증해봤고, 연산이 안되는 숫자를 입력할 경우 error함수로 뭐가 잘 못 되었는지 출력되도록 작성되었습니다.
한마디로 공학용 class의 교과서라고 생각하심 될 듯 합니다.
visual c++에서 작성되었는데, 다른 compiler에서도 안 될 이유는 없으리라 생각됩니다.
main.cpp, vecmat.h, standard.h 이렇게 구성되어 있으며 zip 파일로 압축해놓았습니다.
잘 활용하세요.
*********************************************************
[프로그램 실행예]
Enter matrix m1 size, i by j
2
3
Enter matrix m2 size, i by j
3
2
enter 2 row vectors
enter row vector, 0
enter 3 elements:
[0] = 1.2
[1] = 2.2
[2] = 3
enter row vector, 1
enter 3 elements:
[0] = -2
[1] = 0.5
[2] = 4
enter 3 row vectors
enter row vector, 0
enter 2 elements:
[0] = 2
[1] = 1
enter row vector, 1
enter 2 elements:
[0] = 4.2
[1] = -2.2
enter row vector, 2
enter 2 elements:
[0] = 5
[1] = 3.8
m1 x m2 is
11.64 -3.64
-1.9 -3.1
*********************************************************
[프로그램 소스 일부]
class matrix {
friend vector;
private:
int numrows;
int numcols;
vector **mat;
int range(int);
public:
matrix(int, int);
matrix(int);
matrix(const matrix&);
~matrix();
vector& operator[] (int i);
matrix& operator+();
matrix& operator=(const matrix&);
matrix& operator+=(const matrix&);
matrix& operator-=(const matrix&);
matrix& operator*=(double);
matrix& operator/=(double);
int getnumrows();
int getnumcols();
컴파일 실행환경
없음압축파일 내 파일목록
vecmat_v0/
vecmat_v0/Debug/
vecmat_v0/Debug/main.obj
vecmat_v0/Debug/vc60.idb
vecmat_v0/Debug/vc60.pdb
vecmat_v0/Debug/vecmat.exe
vecmat_v0/Debug/vecmat.ilk
vecmat_v0/Debug/vecmat.pch
vecmat_v0/Debug/vecmat.pdb
vecmat_v0/main.cpp
vecmat_v0/standard.h
vecmat_v0/vecmat.dsp
vecmat_v0/vecmat.dsw
vecmat_v0/vecmat.h
vecmat_v0/vecmat.ncb
vecmat_v0/vecmat.opt
vecmat_v0/vecmat.plg
vecmat_v0/Debug/
vecmat_v0/Debug/main.obj
vecmat_v0/Debug/vc60.idb
vecmat_v0/Debug/vc60.pdb
vecmat_v0/Debug/vecmat.exe
vecmat_v0/Debug/vecmat.ilk
vecmat_v0/Debug/vecmat.pch
vecmat_v0/Debug/vecmat.pdb
vecmat_v0/main.cpp
vecmat_v0/standard.h
vecmat_v0/vecmat.dsp
vecmat_v0/vecmat.dsw
vecmat_v0/vecmat.h
vecmat_v0/vecmat.ncb
vecmat_v0/vecmat.opt
vecmat_v0/vecmat.plg