Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
10 / 10 / 1
Регистрация: 16.11.2012
Сообщений: 321
1

Каждый элемент матрицы умножить на максимальный элемент у поточному рядку. Вывести на экран начальную та полученную матрицы

12.06.2013, 13:29. Просмотров 1970. Ответов 4
Метки нет (Все метки)

Здравствуйте! Дано задание: Каждый элемент матрицы умножить на максимальный элемент у поточному рядку. Вывести на экран начальную та полученную матрицы.
Размеры матрицы задаются пользователем, то есть, массив - динамический.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2013, 13:29
Ответы с готовыми решениями:

Умножить каждый элемент матрицы на 3 и вывести результат на экран
Вот такая воот задачка. Нужно ввести с клавиатуры целочисленные элементы матрицы 3x3, вывести...

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

Вычислить сумму положительных элементов матрицы А (4,5), разделить на нее каждый элемент. Полученную матрицу вывести
помогите курсовую сделать

Максимальный элемент матрицы заменить на нуль и вывести на печать угол матрицы, в котором расположен этот максимальный элемент
Помогите, пожалуйста, добить программу: -Максимальный элемент матрицы заменить на нуль и вывести...

4
4 / 4 / 3
Регистрация: 12.06.2013
Сообщений: 26
12.06.2013, 14:49 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include<iostream>
 
using namespace std;
 
int main()
{
    int **arr, *temp;
    int n,m,max;
    cout<<"Enter size of array : \n";
    cout<<"n = "; cin>>n;       /* вводим размеры матрицы */
    cout<<"\nm = "; cin>>m;
    arr = new int*[n];
    temp = new int[n];
    for (int i = 0; i < n; i++)     // создаем
       arr[i]=new int[m];           //   динамический двумерный массив
    srand(time(NULL));            // для генерации псевдослучайных чисел
    for (int i = 0; i < n; i++)      // используется время
        for (int j = 0; j < m; j++)   //заполняем массив
            arr[i][j]=rand()%100;      // случайными числами меньше 100
    for (int i = 0; i < n; i++)
        {
        max = arr[i][0];
        for (int j = 0; j < m; j++)
            if (max < arr[i][j])     // находим максимальный элемент
                max = arr[i][j];    //    в каждой строке матрицы
            temp[i]=max;            //    и записываем их в массив temp
        }
    cout<<"\n    OLD ARRAY          \n";
    for (int i = 0; i < n; i++)
        {                                     //выводим исходную матрицу
            cout << "\n";
            for (int j = 0; j < m; j++)
                {
                    cout<<" "<<arr[i][j];
                    if (j == m-1) cout<<" | max = "<<temp[i];  //для наглядности, пишем максимальные элементы каждой строки
                }
 
 
        }
    cout<<" \n\n   NEW ARRAY          \n";
    for (int i = 0; i < n; i++)    //выводим новую матрицу
        {
            cout<<"\n";
            for (int j = 0; j < m; j++)
                cout<<" "<<arr[i][j]*temp[i]; //тут умножаем каждый элемент, на максимальные значения соотв. строк
        }
    for (int i = 0; i < n; i++)    //удаляем двумерный массив из памяти
        delete[] arr[i];
    delete[] temp; //очищаем память
    cout<<"\n\n";
    system("pause");
    return 0;
}
Добавлено через 1 минуту
кстати я не очень силен в украинском, мог банально неправильно понять задание
0
10 / 10 / 1
Регистрация: 16.11.2012
Сообщений: 321
13.06.2013, 13:20  [ТС] 3
happyzombiE, я задание на русском написал

Добавлено через 17 часов 15 минут
Ребята, кто может эту же программу написать с использованием функций? Они являются обязательными условиями(
Каждый элемент матрицы умножить на максимальный элемент у текущем рядке. Вывести на экран начальную и полученную матрицы. Размеры матрицы задаются пользователем, то есть, массив - динамический.
По сути верхний код разбить на функции, для опытных пользователей 3 минуты дела. Ооочень буду благодарен!)
0
4 / 4 / 3
Регистрация: 12.06.2013
Сообщений: 26
14.06.2013, 10:26 4
трёх функций хватит ?

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
#include<iostream>
 
using namespace std;
 
void generate();
void find_max();
void display ();
 
//------------------------------------------
void generate (int **arr, int n, int m)
{
    srand(time(NULL));            // для генерации псевдослучайных чисел
    for (int i = 0; i < n; i++)      // используется время
        for (int j = 0; j < m; j++)   //заполняем массив
            arr[i][j]=rand()%100;      // случайными числами меньше 100
}
//------------------------------------------
void find_max(int **arr,int n, int m, int *temp)
{
  int max;
  for (int i = 0; i < n; i++)
        {
        max = arr[i][0];
        for (int j = 0; j < m; j++)
            if (max < arr[i][j])     // находим максимальный элемент
                max = arr[i][j];    //    в каждой строке матрицы
            temp[i]=max;            //    и записываем их в массив temp
        }
}
//------------------------------------------
void display (int **arr, int n, int m,int *temp)
{
       cout<<"\n    OLD ARRAY          \n";
    for (int i = 0; i < n; i++)
        {                                     //выводим исходную матрицу
            cout << "\n";
            for (int j = 0; j < m; j++)
                {
                    cout<<" "<<arr[i][j];
                    if (j == m-1) cout<<" | max = "<<temp[i];  //для наглядности, пишем максимальные элементы каждой строки
                }
        }
    cout<<" \n\n   NEW ARRAY          \n";
    for (int i = 0; i < n; i++)    //выводим новую матрицу
        {
            cout<<"\n";
            for (int j = 0; j < m; j++)
                cout<<" "<<arr[i][j]*temp[i]; //тут умножаем каждый элемент, на максимальные значения соотв. строк
        }
}
//------------------------------------------
 
int main()
{
    int **arr, *temp;
    int n,m;
    cout<<"Enter size of array : \n";
    cout<<"n = "; cin>>n;       /* вводим размеры матрицы */
    cout<<"\nm = "; cin>>m;
    arr = new int*[n];
    temp = new int[n];
    for (int i = 0; i < n; i++)     // создаем
       arr[i]=new int[m];           //   динамический двумерный массив
    generate (arr,n,m);
    find_max (arr,n,m,temp);
    display (arr, n,m,temp);
    for (int i = 0; i < n; i++)    //удаляем двумерный массив из памяти
        delete[] arr[i];
    delete[] temp; //очищаем память
    cout<<"\n\n";
    system("pause");
    return 0;
}
1
10 / 10 / 1
Регистрация: 16.11.2012
Сообщений: 321
16.06.2013, 15:38  [ТС] 5
happyzombiE, да, спасибо большое)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2013, 15:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определить максимальный нечетный элемент каждой строки матрицы, и вывести на экран сам элемент и его индексы
Дано: с клавиатуры вводятся два целых числа – М и К. 1&lt;M&lt;10, 1&lt;K&lt;10. (М – число строк, К – число...

Найти максимальный элемент матрицы и увеличить каждый элемент на максимальный
Дан двумерный массив 3х4. Элементы массива целые числа. а) найти максимальный элемент массива и...

Найти максимальный элемент матрицы С, каждый элемент которой вычисляется по заданной формуле
задание: Даны две матрицы A и B порядка 4. Найти максимальый элемент матрицы С,каждый элемент...

Получить новую матрицу [B], умножив каждый элемент исходной матрицы на её максимальный элемент.
Дана матрица , размером NxM. Получить новую матрицу , умножив каждый элемент исходной матрицы на её...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.