0 / 0 / 0
Регистрация: 04.11.2021
Сообщений: 23

Разделить все элементы массива на наибольший по модулю элемент

24.12.2021, 14:35. Показов 1209. Ответов 3

Студворк — интернет-сервис помощи студентам
Дан действительный массив размерностью n*m, в которой не все элементы равны нулю. Получить новый массив путем деления всех элементов данного массива на ее больший по модулю элемент.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.12.2021, 14:35
Ответы с готовыми решениями:

Дан массив А (15). Разделить все элементы на наибольший элемент массива (не равен нулю)
Дан массив А (15). Разделить все элементы на наибольший элемент массива (не равен нулю).

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

Разделить все элементы заданной матрицы на ее наибольший по модулю элемент
Здравствуйте, подскажите как сделать пожалуйста Заданная действительная матрица размера n * m, в которой не все элементы равны нулю....

3
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
4579 / 2494 / 991
Регистрация: 01.06.2021
Сообщений: 8,542
24.12.2021, 15:02
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
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand(time(nullptr));
    
    const int n = 10;
    const int m = 5;
    const double r_min = -100.;
    const double r_max = 100.;
    
    double M[n][m];
    
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            M[i][j] = rand() / static_cast<double>(RAND_MAX) * (r_max - r_min) + r_min;
    
    double max = abs(M[0][0]);
    
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            if (abs(M[i][j]) > max)
                max = abs(M[i][j]);
    
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            M[i][j] /= max;
    
}
Добавлено через 2 минуты
BofLin, вероятность, что наибольший элемент массива будет 0 равна нулю, хотя такое событие не является невозможным. Тем не менее, не вижу смысла бояться деления на ноль.
2
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
25.12.2021, 12:25
Цитата Сообщение от Royal_X Посмотреть сообщение
if (abs(M[i][j]) > max)
max = abs(M[i][j]);
так находится не максимальный по модулю, а модуль максимального по модулю
2
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
4579 / 2494 / 991
Регистрация: 01.06.2021
Сообщений: 8,542
25.12.2021, 15:19
Лучший ответ Сообщение было отмечено BofLin как решение

Решение

Yetty, т.е. вы поняли условие так, что нужно найти максимальный по модулю элемент массива, но потом нужно поделить все элементы массива на этот элемент, а не этот элемент по модулю? Я понял условие иначе, поэтому сделал так, как сам понял.

Вот, другой вариант:

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
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand(time(nullptr));
    
    const int n = 3;
    const int m = 3;
    const double r_min = -100.;
    const double r_max = 100.;
    
    double M[n][m];
    
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            M[i][j] = rand() / static_cast<double>(RAND_MAX) * (r_max - r_min) + r_min;
            
    int max[2] = {0, 0};
    
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            if (abs(M[i][j]) > abs(M[max[0]][max[1]]))
            {
                max[0] = i;
                max[1] = j;
            }
            
    double meow = M[max[0]][max[1]];
    
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            M[i][j] /= meow;
        
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.12.2021, 15:19
Помогаю со студенческими работами здесь

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

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

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

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

В массиве все элементы разделить на наибольший элемент
В массиве К вещественных чисел размером m*n, где m=2, n=3. В массиве все элементы разделить на наибольший элемент соответствующей строки.


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

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

Новые блоги и статьи
Аутентификация OAuth в Python
py-thonny 22.05.2025
OAuth (Open Authorization) — это целый стандарт для делегированного доступа. Звучит занудно? Давайте проще: OAuth позволяет приложениям получать доступ к информации пользователя на сторонних сервисах. . .
Хеширование и соль паролей в веб-приложениях C#
stackOverflow 22.05.2025
Когда-то в начале своей карьеры я тоже грешил простейшими подходами к хранению паролей – MD5-хеширование казалось верхом защиты. Но технологии не стоят на месте, вычислительные мощьности растут, и. . .
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL. Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru