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

Написать программу которая заменяет элементы главной диагонали - C++

Восстановить пароль Регистрация
 
dune777
1 / 1 / 0
Регистрация: 23.01.2016
Сообщений: 58
23.01.2016, 15:58     Написать программу которая заменяет элементы главной диагонали #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
#include <iostream>
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "russian");
    int mass[4][4];
    int j, i, q;
    double max;
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4; j++)
        {
            cin >> mass[i][j];
        }
    }
    max = mass[0][0];
    for (i = 1; i < 4; i++){
        if (max < mass[i][4]) max = mass[i][4]; q = i;
    }
    
    cout << q << endl;
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4; j++)
        {
            cout << mass[i][j] << " ";
        }
        cout << endl;
    }
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2016, 15:58     Написать программу которая заменяет элементы главной диагонали
Посмотрите здесь:

C++ Написать программу, которая в строке заменяет все цифры на символ «*»
Составить программу, которая все элементы, расположенные на главной и побочных диагоналях массива, заменяет значение минимального элемента C++
C++ Программа, которая вводит c клавиатуры двумерный квадратный массив целых чисел, заменяет все отрицательные элементы главной диагонали на сумму всех эл
Написать программу, которая каждую встреченную букву 'б' заменяет сочетанием 'ку' C++
Написать программу, которая в строке заменяет символы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Apostol584
235 / 141 / 71
Регистрация: 26.11.2012
Сообщений: 365
Завершенные тесты: 2
23.01.2016, 16:36     Написать программу которая заменяет элементы главной диагонали #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
for (i = 0; i < 4; i++){
        q = i;
        max = mass[0][i];
        for (int j = 0; j < 4; j++)
            if (max < mass[j][i]){
                max = mass[j][i];
                q = j;
            }
        mass[i][i] = mass[q][i];
    }
dune777
1 / 1 / 0
Регистрация: 23.01.2016
Сообщений: 58
24.01.2016, 01:29  [ТС]     Написать программу которая заменяет элементы главной диагонали #3
Спасибо огромное!
А как можно сделать чтобы элементы менялись местами а не просто заменялись?
Apostol584
235 / 141 / 71
Регистрация: 26.11.2012
Сообщений: 365
Завершенные тесты: 2
24.01.2016, 02:22     Написать программу которая заменяет элементы главной диагонали #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int temp;
for (i = 0; i < 4; i++){
        q = i;
        max = mass[0][i];
        for (int j = 0; j < 4; j++)
            if (max < mass[j][i]){
                max = mass[j][i];
                q = j;
            }
        temp = mass[i][i];
        mass[i][i] = mass[q][i];
        mass[q][i] = temp;
    }
dune777
1 / 1 / 0
Регистрация: 23.01.2016
Сообщений: 58
24.01.2016, 17:10  [ТС]     Написать программу которая заменяет элементы главной диагонали #5
Еще раз спасибо большое! Все работает!

Добавлено через 7 часов 32 минуты
А можете пожалуйста объяснить, почему мы в max = mass[0][i]; i поставили на место столбцов? И почему мы тут if (max < mass[j][i]){ max = mass[j][i]; j и i поменяли местами? Буду очень благодарен за разъяснение
Apostol584
235 / 141 / 71
Регистрация: 26.11.2012
Сообщений: 365
Завершенные тесты: 2
24.01.2016, 17:18     Написать программу которая заменяет элементы главной диагонали #6
Цитата Сообщение от dune777 Посмотреть сообщение
Нужно найти максимальный элемент каждого столбца
необходимо двигаться по столбцам
Цитата Сообщение от Apostol584 Посмотреть сообщение
C++
1
2
if (max < mass[j][i]){
* * * * * * * * max = mass[j][i];
если будет mass[i][j], то будем двигаться по строкам
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2016, 19:24     Написать программу которая заменяет элементы главной диагонали
Еще ссылки по теме:

C++ Программа, которая зануляет элементы выше и ниже главной и побочной диагонали
C++ Написать программу в которой все нулевые элементы размещены выше главной диагонали
C++ Написать функцию, которая заменяет нульями числа под главной диагональю матрицы

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

Или воспользуйтесь поиском по форуму:
dune777
1 / 1 / 0
Регистрация: 23.01.2016
Сообщений: 58
24.01.2016, 19:24  [ТС]     Написать программу которая заменяет элементы главной диагонали #7
Еще раз спасибо!
Yandex
Объявления
24.01.2016, 19:24     Написать программу которая заменяет элементы главной диагонали
Ответ Создать тему
Опции темы

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