From 258e1b92ebbfdebefabc120969ab87c3d8b75c3d Mon Sep 17 00:00:00 2001
From: Patrick Simianer
Date: Sun, 15 Jun 2014 03:50:12 +0200
Subject: old c,cc examples
---
c,cc/matrix.cc | 210 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 210 insertions(+)
create mode 100644 c,cc/matrix.cc
(limited to 'c,cc/matrix.cc')
diff --git a/c,cc/matrix.cc b/c,cc/matrix.cc
new file mode 100644
index 0000000..9d1a1c0
--- /dev/null
+++ b/c,cc/matrix.cc
@@ -0,0 +1,210 @@
+#include
+#include
+
+using namespace std;
+
+
+class MyMatrix
+{
+ public:
+ MyMatrix(int dimension);
+ MyMatrix(int rows, int columns);
+ ~MyMatrix();
+
+ void print();
+ int get_rows();
+ int get_columns();
+
+ double get_element(int row, int column);
+ void set_element(int row, int column, double value);
+
+ MyMatrix operator + (MyMatrix A);
+ MyMatrix operator * (MyMatrix A);
+ void operator = (MyMatrix A);
+
+
+ private:
+ double* m;
+ int row_d;
+ int col_d;
+ int d;
+};
+
+MyMatrix::MyMatrix(int dimension)
+{
+ row_d = dimension;
+ col_d = dimension;
+ d = dimension*dimension;
+ m = new double[d];
+
+ unsigned int k=0;
+ for(unsigned int i=0; i0) {
+ m[((row-1)*col_d)+(column-1)] = value;
+ }
+}
+
+
+MyMatrix
+MyMatrix::operator + (MyMatrix A)
+{
+ MyMatrix* res = new MyMatrix(row_d, col_d);
+
+ unsigned int k=0;
+ for(unsigned int i=0; im[k] = m[k]+A.get_element(i+1, j+1);
+ k++;
+ }
+ }
+
+ return *res;
+}
+
+MyMatrix MyMatrix::operator * (MyMatrix A)
+{
+ MyMatrix* res = new MyMatrix(row_d, col_d);
+
+ unsigned int k=0;
+ for(unsigned int i=0; im[k] = m[k]*A.get_element(i+1, j+1);
+ k++;
+ }
+ }
+
+ return *res;
+}
+
+void MyMatrix::operator = (MyMatrix A)
+{
+ unsigned int k=0;
+ for(unsigned int i=0; iprint();
+
+ cout << " rows: " << m->get_rows() << ", ";
+ cout << "columns: " << m->get_columns() << endl;
+
+ delete m;
+
+
+ cout << endl << "2x5 matrix:" << endl;
+ MyMatrix n(2,5);
+ n.print();
+
+ cout << " rows: " << n.get_rows() << ", ";
+ cout << "columns: " << n.get_columns() << endl;
+
+ cout << "(1,3) = " << n.get_element(1,3) << endl;
+
+ cout << "last: (2,5) = " << n.get_element(2,5) << endl;
+
+ cout << "second to last element = 100: " << endl;
+ n.set_element(2, 4, 100);
+ n.print();
+
+ cout << endl << "addition:" << endl;
+ cout << "matrix 1:" << endl;
+ MyMatrix* a1 = new MyMatrix(3,3);
+ a1->print();
+ cout << "matrix 2:" << endl;
+ MyMatrix* a2 = new MyMatrix(3,3);
+ a2->print();
+ cout << "result:" << endl;
+ MyMatrix* e1 = new MyMatrix(3,3);
+ *e1 = *a1+*a2;
+ e1->print();
+ delete e1;
+
+ cout << endl << "multiplication" << endl;
+ cout << "matrix 1:" << endl;
+ MyMatrix* m1 = new MyMatrix(3,3);
+ a1->print();
+ cout << "matrix 2:" << endl;
+ MyMatrix* m2 = new MyMatrix(3,3);
+ m2->print();
+ cout << "result:" << endl;
+ MyMatrix* e2 = new MyMatrix(3,3);
+ *e2 = *m1 * *m2;
+ e2->print();
+ delete e2;
+
+ return 0;
+}
+
--
cgit v1.2.3