Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- #include<cmath>
- using namespace std;
- int main() {
- //net
- const int netX = 4;
- const int netY = 3;
- float matrix1a[netX * netY * 4];
- int matrix1ja[netX * netY * 4];
- int matrix1ia[netX * netY + 1];
- for (int i = 0; i <= netX * netY; ++i) {
- matrix1ia[i] = 0;
- }
- for (int i = 0; i < netX * netY; ++i) {
- if (i >= netX) {
- for (int j = netX * netY + 1; j > i; --j) {
- matrix1ia[j] += 1;
- }
- matrix1a[matrix1ia[i + 1] - 1] = 1;
- matrix1ja[matrix1ia[i + 1] - 1] = i - netX;
- }
- if ((i % netX) != 0) {
- for (int j = netX * netY + 1; j > i; --j) {
- matrix1ia[j] += 1;
- }
- matrix1a[matrix1ia[i + 1] - 1] = 1;
- matrix1ja[matrix1ia[i + 1] - 1] = i - 1;
- }
- for (int j = netX * netY + 1; j > i; --j) {
- matrix1ia[j] += 1;
- }
- matrix1a[matrix1ia[i + 1] - 1] = 1;
- matrix1ja[matrix1ia[i + 1] - 1] = i;
- if ((i % netX) != netX - 1) {
- for (int j = netX * netY + 1; j > i; --j) {
- matrix1ia[j] += 1;
- }
- matrix1a[matrix1ia[i + 1] - 1] = 1;
- matrix1ja[matrix1ia[i + 1] - 1] = i + 1;
- }
- }
- /* for (int i = 0; i < matrix1ia[netX*netY]; ++i){
- cout << matrix1a[i] << " ";
- }
- cout << endl;
- for (int i = 0; i < matrix1ia[netX*netY]; ++i){
- cout << matrix1ja[i] << " ";
- }
- cout << endl;
- for (auto s: matrix1ia){
- cout << s << " ";
- }
- cout << endl;
- */ int b[netX * netY];
- int result[netX * netY];
- for (int i = 0; i < netX * netY; ++i) {
- b[i] = 1;
- result[i] = 0;
- }
- for (int row = 0; row < netX * netY; ++row) {
- for (int i = matrix1ia[row]; i < matrix1ia[row + 1]; ++i) {
- result[row] += matrix1a[i] * b[matrix1ja[i]];
- }
- }
- for (auto s : result) {
- cout << s << " ";
- }
- cout << endl;
- ifstream in("testR.txt");
- int size;
- in >> size;
- int matrix2ia[size + 1];
- for (int i = 0; i <= size; ++i) {
- in >> matrix2ia[i];
- }
- int* matrix2ja = new int[matrix2ia[size]];
- for (int i = 0; i < matrix2ia[size]; ++i) {
- in >> matrix2ja[i];
- }
- float* matrix2a = new float[matrix2ia[size]];
- for (int i = 0; i < matrix2ia[size]; ++i) {
- in >> matrix2a[i];
- }
- int b2[size];
- float result2[size];
- for (int i = 0; i < size; ++i) {
- b2[i] = 1;
- result2[i] = 0;
- }
- for (int row = 0; row < size; ++row) {
- for (int i = matrix2ia[row]; i < matrix2ia[row + 1]; ++i) {
- result2[row] += matrix2a[i] * b2[matrix2ja[i]];
- }
- }
- float norm = 0;
- for (auto s : result2) {
- norm += s * s;
- }
- norm = sqrt(norm);
- cout << norm;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement