0 / 0 / 0
Регистрация: 27.01.2019
Сообщений: 5
1

Дан файл вещественных чисел, содержащий элементы квадратной матрицы (по строкам). Создать новый файл, содержащий элеме

29.01.2019, 21:39. Показов 2423. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан файл вещественных чисел, содержащий элементы квадратной матрицы (по строкам). Создать новый файл, содержащий элементы матрицы, транспонированной к исходной.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2019, 21:39
Ответы с готовыми решениями:

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке
Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в...

Дан файл вещественных чисел, содержащий элементы нижнетреуголь- ной матрицы (по строкам)
Дан файл вещественных чисел, содержащий элементы нижнетреуголь- ной матрицы (по строкам). Создать...

Дан файл вещественных чисел, содержащий ненулевую часть трехдиагональной матрицы (по строкам)
Дан файл вещественных чисел, содержащий ненулевую часть трехдиагональной матрицы (по строкам)....

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке
Пожалуйста, помогите решить задачу в PascalABC!!! Дан файл целых чисел. Создать новый файл,...

4
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
16162 / 9794 / 2734
Регистрация: 21.10.2017
Сообщений: 21,676
29.01.2019, 22:46 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package ru.ismoke;
 
 
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;
 
public class Cyber {
 
    public static void main(String[] args) {
        new Cyber().process();
    }
 
    private void process() {
        try {
            double[][] src_matrix = readMatrix("input.txt");
            double[][] dest_matrix = transpon(src_matrix);
            saveMatrix(dest_matrix, "output.txt");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
    private double[][] readMatrix(String filename) throws FileNotFoundException {
        String line;
        double[][] matrix;
        Scanner scan = new Scanner(new File(filename));
 
        line = scan.nextLine();
        int len = line.split("\\s").length;
        matrix = new double[len][len];
        matrix[0] = Arrays.stream(line.split(" ")).mapToDouble(Double::parseDouble).toArray();
 
        for (int i = 1; i < len; i++) {
            line = scan.nextLine();
            matrix[i] = Arrays.stream(line.split(" ")).mapToDouble(Double::parseDouble).toArray();
        }
 
        return matrix;
    }
 
    private double[][] transpon(double[][] matrix) {
        int len = matrix.length;
        double[][] result = new double[len][len];
 
        for (int i = 0; i < len; i++) {
            for (int j = 0; j < len; j++) {
                result[i][j] = matrix[j][i];
            }
        }
        return result;
    }
 
    private void saveMatrix(double[][] matrix, String filename) throws IOException {
        FileWriter writer = new FileWriter(new File(filename));
        for (double[] rows : matrix) {
            for (double elem : rows) {
                writer.write(elem + "\t");
            }
            writer.write("\n");
        }
        writer.flush();
    }
}
0
2519 / 1964 / 492
Регистрация: 17.02.2014
Сообщений: 9,286
30.01.2019, 13:01 3
Цитата Сообщение от e_pereverz Посмотреть сообщение
Создать новый файл, содержащий элементы матрицы, транспонированной к исходной.
трансп-ую матрицу делать, не нужно! а ее образ в файл))
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package cyberforum;
 
 
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
public class Helper {
 
    private static double [][] getDblValMatrixFromFile(String fileName) {
        List<Double> doublBox = new ArrayList<>();
        int row = 0;
        int clm = 0;
        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String tmpStr = null;
            while ((tmpStr = reader.readLine()) != null) {
                Scanner parser = new Scanner(tmpStr).useDelimiter(";");
                while (parser.hasNextDouble()) {
                    doublBox.add(parser.nextDouble());
                }
                if (clm == 0)
                    clm = doublBox.size();
                parser.close();
                row++;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        int boxIndex = 0;
        double [][] retDbl = new double[row][clm];
        for (int i = 0; i < row; i++) {
            for (int j = 0; j < clm; j++) {
                retDbl[i][j] = doublBox.get(boxIndex++);
            }
        }
        return retDbl;
    }
 
    private static void saveTranspMatrixToFile(double [][] matrix ,String fileName) {
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
            for (int c = 0; c < matrix[0].length; c++) {
                for (int r = matrix.length - 1; r >= 0; r--) {
                    if (r == 0)
                        writer.write(String.valueOf(matrix[r][c]).concat("\n"));
                    else
                        writer.write(String.valueOf(matrix[r][c]).concat(";"));
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
    public static void main(String[] args){
        double [][] matrDbl = getDblValMatrixFromFile("abc.txt");
        saveTranspMatrixToFile(matrDbl,"out_abc.txt");
    }
}
входной и выходной файлы:

Кликните здесь для просмотра всего текста
1,3;2,4;56,82
-1,55;7,4;11,82
17,0;21,4;-6,2
============
17.0;-1.55;1.3
21.4;7.4;2.4
-6.2;11.82;56.82
0
21 / 21 / 20
Регистрация: 05.12.2017
Сообщений: 124
31.01.2019, 22:28 4
Цитата Сообщение от iSmokeJC Посмотреть сообщение
int len = line.split("\\s").length;
А по какому символу разделяется строка? Что делает "\\s"?
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
16162 / 9794 / 2734
Регистрация: 21.10.2017
Сообщений: 21,676
31.01.2019, 22:33 5
\\s - пробел, перевод строки, табуляция...
0
31.01.2019, 22:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2019, 22:33
Помогаю со студенческими работами здесь

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке
Пожалуйста, помогите решить задачу в C++!!! Дан файл целых чисел. Создать новый файл, содержащий...

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке
Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в...

Создать новый файл, содержащий все элементы матрицы (по строкам) из исходного файла
Помогите пожалуйста !!! Дан файл вещественных чисел, содержащий ненулевую часть нижнетреугольной...

Дан файл вещественных чисел Создать файл целых чисел, содержащий номера локальных максимумов исходного файла
2-File. Дан файл вещественных чисел. Создать файл целых чисел, содержащий номера всех локальных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru