Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const fs = require('fs');
- //console.log(macierz1.toString());
- //console.log(macierz2.toString());
- function convertToArray(string) {
- let data = [];
- let lines = string.split("\r\n");
- for (let i = 0; i < lines.length; i++) {
- let line = lines[i].split(" ");
- let dataline = [];
- for (let k = 0; k < line.length; k++) {
- dataline[k]=parseInt(line[k]);
- }
- data[i] = dataline;
- }
- return data;
- }
- function printArray(matrix) {
- for (let i = 0; i < matrix.length; i++) {
- for (let k = 0; k < matrix[i].length; k++) {
- let abc = matrix[i][k];
- console.log(abc);
- }
- }
- }
- function multiply(macierz1, macierz2) {
- if (!Array.isArray(macierz1) || !Array.isArray(macierz2) || !macierz1.length || !macierz2.length) {
- console.log('Argumenty powinny być w formacie dwuwymiarowym');
- }
- let x = macierz1.length,
- z = macierz1[0].length,
- y = macierz2[0].length;
- if (macierz2.length !== z) {
- console.log('Liczba kolumn w pierwszej macierzy powinna być taka sama jak liczba wierszy w drugiej');
- }
- let productRow = Array.apply(null, new Array(y)).map(Number.prototype.valueOf, 0);
- let product = new Array(x);
- for (let p = 0; p < x; p++) {
- product[p] = productRow.slice();
- }
- for (let i = 0; i < x; i++) {
- for (let j = 0; j < y; j++) {
- for (let k = 0; k < z; k++) {
- product[i][j] += macierz1[i][k] * macierz2[k][j];
- }
- }
- }
- return product;
- }
- function convertToString(matrix) {
- let String = '';
- for (let i = 0; i < matrix.length; i++) {
- for (let k = 0; k < matrix[i].length; k++) {
- let abc = matrix[i][k];
- String += ' ' + abc;
- }
- String += "\n";
- }
- return String;
- }
- let macierz1 = fs.readFileSync(__dirname + "/macierz1.txt");
- let macierz2 = fs.readFileSync(__dirname + "/macierz2.txt");
- //console.log('macierz1:');
- let m1 = convertToArray(macierz1.toString());
- //printArray(m1);
- //console.log('macierz2:');
- let m2 = convertToArray(macierz2.toString());
- //printArray(m2);
- let mProduct = multiply(m1,m2);
- //printArray(mProduct);
- let macierzPlik = convertToString(mProduct);
- fs.writeFile("WynikTekstu.txt",macierzPlik,function (error){});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement