-2 / 0 / 0
Регистрация: 05.12.2019
Сообщений: 53

Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент

05.12.2019, 21:46. Показов 2315. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задан двумерный массив А[5,10]. Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.12.2019, 21:46
Ответы с готовыми решениями:

Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент
2)Задан двумерный массив А. Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент.

Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент
Крик помощи 1.Задан двумерный массив А. Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по...

Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент
Задан двумерный массив А. Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент.

2
 Аватар для alicesmagic
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
06.12.2019, 10:11
Итоговых матрицы может быть и две:

Кликните здесь для просмотра всего текста
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
68
69
public class FemaleLogic {
    public static void main(String[] args){
        // Задаем исходную матрицу
        int[][]  matrix = {
                {-4,8,6,7,0,1,9,8,2,7},
                {7,0,-5,6,1,1,3,9,4,8},
                {3,1,8,6,-9,7,6,5,7,0},
                {2,3,7,1,0,9,-2,1,4,4},
                {7,9,2,6,4,2,7,3,-4,8},
        };
 
        // Объявляем две переменные для двух возможных максимумов по модулю
        double maxPos = 0, maxNeg = 0;
 
        // Находим максимальный элемент в исходной матрице и выводим ее на печать
        System.out.println("Исходная матрица:");
        for (int[] ints : matrix) {
            for (int anInt : ints) {
                if (anInt > maxPos) maxPos = anInt;
                if (anInt < maxNeg) maxNeg = anInt;
                System.out.printf("%2d ", anInt);
            }
            System.out.println();
        }
        System.out.println();
 
        // Проверяем сколько элементов матрицы удовлетворяют условию
        if (maxPos != -maxNeg) {
            double max = maxPos > -maxNeg ? maxPos : maxNeg;
 
            // Если максимальный по модулю элемент один, то и матрица одна
            double[][] result = new double[5][10];
 
            // Заполняем итоговую матрицу и выводим ее на печать
            System.out.println("Максимальный по модулю элемент: " + max);
            System.out.println("Результат:");
            for (int i = 0; i < result.length; i++) {
                for (int j = 0; j < result[i].length; j++) {
                    result[i][j] = matrix[i][j] / max;
                    System.out.printf("%5.2f\t", result[i][j]);
                }
                System.out.println();
            }
        } else {
            // Если максимальных по модулю элементов два, то и матрицы две
            double[][] result1 = new double[5][10];
            double[][] result2 = new double[5][10];
 
            // Заполняем обе итоговых матрицы и выводим их на печать
            System.out.println("Максимальные по модулю элементы: " + maxPos + " и " + maxNeg);
            System.out.println("\nРезультат для элемента " + maxPos + " :");
            for (int i = 0; i < result1.length; i++) {
                for (int j = 0; j < result1[i].length; j++) {
                    result1[i][j] = matrix[i][j] / maxPos;
                    System.out.printf("%5.2f\t", result1[i][j]);
                }
                System.out.println();
            }
            System.out.println("\nРезультат для элемента " + maxNeg + " :");
            for (int i = 0; i < result2.length; i++) {
                for (int j = 0; j < result2[i].length; j++) {
                    result2[i][j] = -result1[i][j];
                    System.out.printf("%5.2f\t", result2[i][j]);
                }
                System.out.println();
            }
        }
    }
}

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Исходная матрица:
-4  8  6  7  0  1  9  8  2  7 
 7  0 -5  6  1  1  3  9  4  8 
 3  1  8  6 -9  7  6  5  7  0 
 2  3  7  1  0  9 -2  1  4  4 
 7  9  2  6  4  2  7  3 -4  8   
 
Максимальные по модулю элементы: 9.0 и -9.0
 
Результат для элемента 9.0 :
-0,44    0,89    0,67    0,78    0,00    0,11    1,00    0,89    0,22    0,78   
 0,78    0,00   -0,56    0,67    0,11    0,11    0,33    1,00    0,44    0,89   
 0,33    0,11    0,89    0,67   -1,00    0,78    0,67    0,56    0,78    0,00   
 0,22    0,33    0,78    0,11    0,00    1,00   -0,22    0,11    0,44    0,44   
 0,78    1,00    0,22    0,67    0,44    0,22    0,78    0,33   -0,44    0,89   
 
Результат для элемента -9.0 :
 0,44   -0,89   -0,67   -0,78   -0,00   -0,11   -1,00   -0,89   -0,22   -0,78   
-0,78   -0,00    0,56   -0,67   -0,11   -0,11   -0,33   -1,00   -0,44   -0,89   
-0,33   -0,11   -0,89   -0,67    1,00   -0,78   -0,67   -0,56   -0,78   -0,00   
-0,22   -0,33   -0,78   -0,11   -0,00   -1,00    0,22   -0,11   -0,44   -0,44   
-0,78   -1,00   -0,22   -0,67   -0,44   -0,22   -0,78   -0,33    0,44   -0,89
0
 Аватар для Aviz__
2727 / 2038 / 505
Регистрация: 17.02.2014
Сообщений: 9,450
06.12.2019, 10:29
Алла210, вот, держи))
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import java.util.Iterator;
import java.util.concurrent.ThreadLocalRandom;
 
public class Helper {
 
    public static void main(String[] args) {
        Integer [][] mat = getMatrix(5,10, true);
        printMatrix(mat);
        MatrixIterator<Integer> matrixIterator = new MatrixIterator<>(mat);
        Integer maxVal = Integer.MIN_VALUE;
        Integer tmp;
        while (matrixIterator.hasNext()) {
            tmp = matrixIterator.next();
            if (tmp > maxVal) maxVal = tmp;
        }
        Integer [][] newMat = getMatrix(5,10, false);
        MatrixSetter<Integer> newMatrixSetter = new MatrixSetter<>(newMat);
        matrixIterator.reset();
        while (matrixIterator.hasNext() && newMatrixSetter.hasNext()) {
            newMatrixSetter.setNext(matrixIterator.next()/maxVal);
        }
        printMatrix(newMat);
    }
 
    private static Integer [][] getMatrix(int row, int col, boolean notEmpty) {
        Integer [][] retMat = new Integer[row][col];
        if (notEmpty) {
            for (Integer[] rowMat : retMat)
                for (int i = 0; i < col; i++) {
                    rowMat[i] = ThreadLocalRandom.current().nextInt(-9, 10);
                }
        }
        return retMat;
    }
 
    private static void printMatrix(Integer [][] matPrint) {
        for (Integer [] row : matPrint){
            for (Integer elemRow : row) {
                System.out.printf("%2d,", elemRow);
            }
            System.out.println();
        }
        System.out.println("=========");
    }
 
}
 
class MatrixIterator<T extends Number> implements Iterator<Number> {
    private Object[][] matrx;
    private int rowCurElem = 0;
    private int colCurElem = 0;
 
    MatrixIterator(T[][] firstMatrix) {
        this.matrx = firstMatrix;
    }
 
    @Override
    public boolean hasNext() {
        if (colCurElem < matrx[rowCurElem].length) {
            return true;
        } else {
            colCurElem = 0;
            rowCurElem++;
        }
        return rowCurElem < matrx.length;
    }
 
    @Override
    public T next() {
        return (T)matrx[rowCurElem][colCurElem++];
    }
 
    public void reset() {
        rowCurElem = 0;
        colCurElem = 0;
    }
}
 
class MatrixSetter<T extends Number>{
    private Object[][] matrx;
    private int rowCurElem = 0;
    private int colCurElem = 0;
 
    MatrixSetter(T[][] firstMatrix) {
        this.matrx = firstMatrix;
    }
 
    public boolean hasNext() {
        if (colCurElem < matrx[rowCurElem].length) {
            return true;
        } else {
            colCurElem = 0;
            rowCurElem++;
        }
        return rowCurElem < matrx.length;
    }
 
    public void setNext(T val) {
        matrx[rowCurElem][colCurElem++] = val;
    }
 
    public void reset() {
        rowCurElem = 0;
        colCurElem = 0;
    }
}
резулт:
Кликните здесь для просмотра всего текста

1, 3, 5,-1,-9,-6, 3, 7,-4, 7,
0,-1,-5,-6, 5,-2, 2,-6, 1, 6,
-2,-4, 0, 9, 5,-3, 6,-2, 2,-6,
-1,-8,-1,-8,-6, 6, 7,-7, 3, 0,
-1,-7,-1,-5, 3,-7,-4,-9,-8, 4,
=========
0, 0, 0, 0,-1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0,-1, 0, 0,
=========
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2019, 10:29
Помогаю со студенческими работами здесь

Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент
Задан двумерный массив 5*10. Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент.

Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент
Дана действительная матрица размера x, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной...

Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент
Задан двумерный массив А. Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент

Массив: Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент.
Задан двумерный массив А. Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент.

Получить новую матрицу путем деления всех элементов исходной на ее наибольший по модулю элемент
Дана действительная матрица размера nxm в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной...


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

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

Новые блоги и статьи
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru