Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
#1

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

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

Здравствуйте! Дано задание: Каждый элемент матрицы умножить на максимальный элемент у поточному рядку. Вывести на экран начальную та полученную матрицы.
Размеры матрицы задаются пользователем, то есть, массив - динамический.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2013, 13:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Каждый элемент матрицы умножить на максимальный элемент у поточному рядку. Вывести на экран начальную та полученную матрицы (C++):

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

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

Умножить каждый элемент столбца матрицы A(n, m) на первый элемент данного столбца. - C++
Помогите, пожалуйста, написать программу: Умножить каждый элемент столбца матрицы A(n, m) на первый элемент данного столбца. Она кажется...

Найти и вывести на экран максимальный элемент заданной строки матрицы - C++
1. Заполнить случайными числами матрицу А(mxn) и вывести ее на экран в виде таблицы. Программа находит максимальный элемент 1-ой строки...

Максимальный элемени матрицы заменить на нуль и вывести на печать угол матрицы, в котором расположен этот максимальный элемент - C++
собственно сабж. буду очень благодарен тому кто поможет,а то я на грани отчисления,а уроки по c++ пролежал дома с переломом ноги =(

Каждый элемент матрицы умножить на сумму ее нечетных отрицательных элементов - C++
Каждый элемент матрицы A(3,3) умножить на сумму ее нечетных отрицательных элементов

4
happyzombiE
4 / 4 / 0
Регистрация: 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
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
13.06.2013, 13:20  [ТС] #3
happyzombiE, я задание на русском написал

Добавлено через 17 часов 15 минут
Ребята, кто может эту же программу написать с использованием функций? Они являются обязательными условиями(
Каждый элемент матрицы умножить на максимальный элемент у текущем рядке. Вывести на экран начальную и полученную матрицы. Размеры матрицы задаются пользователем, то есть, массив - динамический.
По сути верхний код разбить на функции, для опытных пользователей 3 минуты дела. Ооочень буду благодарен!)
0
happyzombiE
4 / 4 / 0
Регистрация: 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
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
16.06.2013, 15:38  [ТС] #5
happyzombiE, да, спасибо большое)
0
16.06.2013, 15:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2013, 15:38
Привет! Вот еще темы с ответами:

Каждый элемент матрицы умножить на сумму ее четных положительных элементов - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; void vvod(float a) { float b; printf(&quot;Введите матрицу:\n&quot;); for (int i=0;i&lt;3;i++) { for...

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

Каждый элемент квадратной матрицы умножить на произведение ее нечетных отрицательных элементов - C++
//помогите найти и исправить ошибки в коде #include&lt;iostream&gt; using namespace std; void vvod(int A) { setlocale(LC_ALL,...

Найти минимальный и максимальный элемент матрицы и вывести его на экран с указанием номеров их строк и столбцов. - C++
Найти минимальный и максимальный элемент матрицы и вывести его на экран с указанием номеров их строк и столбцов.


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

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

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