Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 14

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

14.03.2014, 12:36. Показов 2941. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!) я был бы благодарен получить небольшую консультацию и правку в моем коде по этой задачке:
Дана действительная матрица размера nxm. Получить новую матрицу путем вычитания из каждого элемента данной матрицы ее наименьшего элемента.

Матрицу естественно ввожу, с этим проблем нет, насчет минимального элемента сомневаюсь..))

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
#include "stdafx.h"
#include <iostream> 
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    int mas[10][10], i, j, n, m, min=0,pmin;    
    cout << "Введите количество строк" << endl;
    cin >> n;
    cout << "Введите количество столбцов" << endl;
    cin >> m;
    
    cout << "Введите элементы массива " << endl;
    for (i = 0; i<n; i++)
    for (j = 0; j<m; j++)
    
        cin >> mas[i][j];
    if (mas[i][j] < min) //сомневаюсь, что правильно нахожу минимальное значение
    {
        min = mas[i][j];
        pmin = i;
    }
 
    cout << "Исходный массив: " << endl;
    for (i = 0; i<n; i++)
    {
        cout << endl;
        for (j = 0; j<m; j++)
            cout << mas[i][j] << " "<<endl;
    }
    cout << "Массив - min " << endl; // тут сомневаюсь сильно
    for (i = 0; i<n; i++)
    {
        cout << endl;
        for (j = 0; j < m; j++)
            mas[i][j] = mas[i][j] - min;
            cout << mas[i][j] << " ";
    }
 
 
    
    
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.03.2014, 12:36
Ответы с готовыми решениями:

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

Даны две целочисленные матрицы 4-го порядка. Получить новую * матрицу путем вычитания из элементов каждого столбца первой матрицы
даны две целочисленные матрицы 4-го порядка. Получить новую матрицу путем вычитания из элементов каждого столбца первой матрицы сумму...

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

3
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
14.03.2014, 12:46
Лучший ответ Сообщение было отмечено Painkiller1 как решение

Решение

Используя ваш код сделала так
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
#include <iostream> 
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    int mas[10][10], i, j, n, m,pmin;    
    cout << "Введите количество строк" << endl;
    cin >> n;
    cout << "Введите количество столбцов" << endl;
    cin >> m;
    int min = 10;
    cout << "Введите элементы массива " << endl;
    for (i = 0; i<n; i++)
    for (j = 0; j<m; j++)
    {
        cin >> mas[i][j];
        if (mas[i][j] < min) //сомневаюсь, что правильно нахожу минимальное значение
        {
            min = mas[i][j];
            pmin = i;
        }
    }
    cout << "Исходный массив: " << endl;
    for (i = 0; i<n; i++)
    {
        cout << endl;
        for (j = 0; j<m; j++)
            cout << mas[i][j] << " "<<endl;
    }
    cout << "Массив - min " << endl; // тут сомневаюсь сильно
    for (i = 0; i<n; i++)
    {
        for (j = 0; j < m; j++)
        {
            mas[i][j] = mas[i][j] - min;
            cout << mas[i][j] << " \n";
        }
        std::cout << std::endl;
    }
    system("pause>>null");
    return 0;
}
Добавлено через 1 минуту
Странная проверка на минимум. У вас мин = 0. И если он будет меньше элемента массива, то тогда минимум будет этот элемент. Но это сработает только, если есть отрицательные элементы. Для всех положительных минимум не найдется. Так и будет ноль.

Добавлено через 1 минуту
А еще лучше так.
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
#include <iostream> 
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    int mas[10][10], i, j, n, m,pmin;    
    cout << "Введите количество строк" << endl;
    cin >> n;
    cout << "Введите количество столбцов" << endl;
    cin >> m;
 
    cout << "Введите элементы массива " << endl;
    for (i = 0; i<n; i++)
        for (j = 0; j<m; j++)
        {
            cin >> mas[i][j];
        }
    int min = mas[0][0];
    for (i = 0; i<n; i++)
        for (j = 0; j<m; j++)
        {
            if (mas[i][j] < min) //сомневаюсь, что правильно нахожу минимальное значение
            {
                min = mas[i][j];
                pmin = i;
            }
    }
 
    cout << "Исходный массив: " << endl;
    for (i = 0; i<n; i++)
    {
        cout << endl;
        for (j = 0; j<m; j++)
            cout << mas[i][j] << " "<<endl;
    }
 
    cout << "Массив - min " << endl; // тут сомневаюсь сильно
    for (i = 0; i<n; i++)
    {
        for (j = 0; j < m; j++)
        {
            mas[i][j] = mas[i][j] - min;
            cout << mas[i][j] << " \n";
        }
        std::cout << std::endl;
    }
    system("pause>>null");
    return 0;
}
1
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 14
14.03.2014, 12:54  [ТС]
я немного поторопился с минимумом, чуть позже обозначил его, как min=INT_MAX ))
Спасибо большое, сейчас посижу, разберусь)
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
14.03.2014, 13:01
о_О Зачем такие извраты? Просто присвойте минимуму первый элемент своего массива, как я сделала во втором коде, и будет счастье.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.03.2014, 13:01
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru