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

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

22.12.2015, 16:44. Показов 1757. Ответов 2
Метки нет (Все метки)

Дана действительная матрица размером n*m. Получить новую матрицу путём деления всех элементов данной матрицы на наибольший по модулю элемент.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2015, 16:44
Ответы с готовыми решениями:

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

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

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

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

2
Эксперт CЭксперт С++
5087 / 2272 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
22.12.2015, 17:23 2
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Для квадратной матрицы:
C++
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
107
// Дана действительная матрица размером n.
// Получить новую матрицу путём деления всех
// элементов данной матрицы на наибольший по
// модулю элемент.
 
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <cmath>
#include <iomanip>
 
typedef double Item;
 
Item ** create(const int matrixSize);
void destroy(Item ** matrix, const int matrixSize);
void fill_rand(Item ** matrix, const int matrixSize);
void show(Item ** matrix, const int matrixSize);
Item find_abs_max_value(Item ** matrix, const int matrixSize);
Item ** divide_each_element(Item ** matrix, const int matrixSize, const int number);
int get_matrix_size_from_user();
 
int main()
{
    int n = get_matrix_size_from_user();
    Item ** matrix = create(n);
    fill_rand(matrix, n);
    show(matrix, n);
    Item abs_max_value = find_abs_max_value(matrix, n);
    std::cout << "\nMaximal value is: " << abs_max_value << "\n";
    divide_each_element(matrix, n, abs_max_value);
    show(matrix, n);
    destroy(matrix, n);
 
    return 0;
}
 
Item ** create(const int matrixSize)
{
    Item ** matrix = new Item * [matrixSize];
    for (int i = 0; i < matrixSize; ++i)
        matrix[i] = new Item[matrixSize];
 
    return matrix;
}
 
void destroy(Item ** matrix, const int matrixSize)
{
    for (int i = 0; i < matrixSize; ++i)
        delete [] matrix[i];
    delete [] matrix;
}
 
void fill_rand(Item ** matrix, const int matrixSize)
{
    static bool first_time_in_this_program = true;
    if (first_time_in_this_program)
    {
        srand(time(NULL));
        first_time_in_this_program = false;
    }
 
    for(int i = 0; i < matrixSize; ++i)
        for(int j = 0; j < matrixSize; ++j)
            matrix[i][j] = rand()%89+10;
}
 
void show(Item ** matrix, const int matrixSize)
{
    std::cout << "\n";
    for (int i = 0; i < matrixSize; ++i)
    {
        for (int j = 0; j < matrixSize; ++j)
        {
            std::cout << std::setprecision(2) << matrix[i][j] << "\t";
        }
        std::cout << "\n";
    }
}
 
Item find_abs_max_value(Item ** matrix, const int matrixSize)
{
    Item abs_max_value = matrix[0][0];
    for (int i = 0; i < matrixSize; ++i)
        for (int j = 0; j < matrixSize; ++j)
            if (abs_max_value < abs(matrix[i][j]))
                abs_max_value = matrix[i][j];
 
    return abs_max_value;
}
 
Item ** divide_each_element(Item ** matrix, const int matrixSize, const int number)
{
    for (int i = 0; i < matrixSize; ++i)
        for (int j = 0; j < matrixSize; ++j)
            matrix[i][j] = matrix[i][j] / number;
 
    return matrix;
}
 
int get_matrix_size_from_user()
{
    std::cout << "Please enter square matrix size: ";
    int matrixSize;
    std::cin >> matrixSize;
 
    return matrixSize;
}
АнастасияКарауш, для матрицы размером n*m сами сделайте.
1
0 / 0 / 3
Регистрация: 02.12.2015
Сообщений: 19
24.12.2015, 16:30  [ТС] 3
C++
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
//Деление всех элиментов на больший по модулю элемент
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <clocale>
#include <math.h>
#include <time.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL, "rus");
    srand(time(NULL));
    int i, n, m, j, max, a;
        printf ("Введите n: ");
            scanf ("%i",&n);
        printf ("Введите m: ");
            scanf ("%i",&m);
float ** ar=new float*[m];
printf ("\n");
for (i=0;i<m;i++)
{   
    ar[i]=new float [n];
}
 
for (i=0;i<m;i++)
{
    for (j=0;j<n;j++)
    {
        ar[i][j]=rand()%21;
            printf ("%5.0f\t", ar[i][j]);
    }
    printf ("\n");
}
printf ("\n");
printf ("\n");
printf ("\n");
printf ("\n");
 
 
max=ar[0][0];
for (i=0; i<m;i++)
{
    for(j=0; j<n; j++)
    {
      if (max<ar[i][j])
          max=ar[i][j];
    }
}
 
for (i=0; i<m;i++)
{
    for(j=0; j<n; j++)
    {
     ar[i][j]=(ar[i][j])/max;
    printf ("%5.2f\t", ar[i][j]);
    }
printf ("\n");
}
system ("pause>void");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2015, 16:30
Помогаю со студенческими работами здесь

Получить новую матрицу, путём деления всех элементов исходной матрицы на ее максимальный по модулю элемент
С матрицы А (n, n) (n &lt;= 6) получить новую матрицу В (n, n) путем деления всех элементов матрицы А...

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

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

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


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

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

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