Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Doc
1 / 1 / 0
Регистрация: 05.05.2014
Сообщений: 106
01.07.2014, 20:40     Получить матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент #1
Задание: написать программу согласно заданию.

Дана целочисленная матрица размера 5х5. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 20:40     Получить матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент
Посмотрите здесь:

Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент C++
Получить новую матрицу путем умножения всех элементов данной матрицы на ее наименьший по модулю элемент C++
Матрицы: получить новую матрицу путем умножения всех элементов на... C++
C++ Получить матрицу, путем вычеркивания с данной матрицы, Н-ой строки и М-го столбика
Получить новую матрицу путем деления всех элементов исходной матрицы на сумму элементов главной диагонали C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
01.07.2014, 20:58     Получить матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент #2
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
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    int matrix[5][5];
    double matrix2[5][5];
    int n=5;
    int max=0;
    setlocale(LC_ALL,"Russian");
    cout<<"Исходная матрица:"<<endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            matrix[i][j]=rand()%100;
            cout << setw(4) << matrix[i][j];
            if(abs(matrix[i][j])>max)
            {
                max=matrix[i][j];
            }
        }
        cout<<endl;
    }
    cout<<endl<<"Максимальный по модулю элемент= " << max <<endl;
    cout << "Результирующая матрица:"<<endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            matrix2[i][j]= (double)matrix[i][j] / max;
            cout<< setw(7)<<setprecision(2)<<matrix2[i][j];
        }
        cout<<endl;
    }
    return 0;
}
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.07.2014, 21:15     Получить матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент #3
BatonPro, лучше задать n константой и уже это значение (а не цифру 5) использовать при создании массивов.
Для rand() нужен <cstdlib>, для abs - <cmath>. А вместо приведения типов в стиле Си (строка 32) лучше использовать static_cast<double>.

Добавлено через 8 минут
И не забудьте проверку на 0.
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
01.07.2014, 21:23     Получить матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент #4
Ещё лучше использовать std::vector.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.07.2014, 21:26     Получить матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент #5
Цитата Сообщение от recoder Посмотреть сообщение
Ещё лучше использовать std::vector.
На самом деле тут более уместен std::array
Yandex
Объявления
01.07.2014, 21:26     Получить матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент
Ответ Создать тему
Опции темы

Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru