Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 24.11.2016
Сообщений: 7
1

Замена столбцов в матрице

21.02.2017, 18:38. Просмотров 1062. Ответов 1
Метки нет (Все метки)

Доброго времени суток!
есть задача
Дана вещественная матрица размером 9*6. Найти максимальный элемент матрицы. Поменять столбец, содержащий мах элемент с последним столбцом матрицы

Не могу врубиться как это реализовать. Смог сделать исходную матрицу, найти нужный элемент и его индекс, но что делать дальше ума не приложу
Прошу помощи!
Вот мой код
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
#include<iostream>
#include<iomanip>
#include<ctime>
 
using namespace std;
 
void main()
{
    setlocale(0, "");
 
    const int row = 8;
    const int col = 7;
    float matr[row][col], max;
    int i, j, rowmax, colmax;
 
    srand(time(0));
 
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            matr[i][j] = (rand() % 100) / 10.0;
            if (i == 0 && j == 0)
                max = matr[0][0];
            if (matr[i][j] > max)
            {
                max = matr[i][j];
                rowmax = i;
                colmax = j;
            }
            cout << fixed << setprecision(1) << setw(5) << matr[i][j];
        }
        cout << endl << endl;
    }
    cout << max << endl << rowmax << " " << colmax << endl << endl;
    cout << endl << endl;
 
 
    system("pause");
}
Добавлено через 11 минут
Все, дошло. справился сам.
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>
#include<iomanip>
#include<ctime>
 
using namespace std;
 
void main()
{
    setlocale(0, "");
 
    const int row = 8;
    const int col = 7;
    float matr[row][col], max;
    int i, j, rowmax, colmax;
 
    srand(time(0));
 
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            matr[i][j] = (rand() % 100) / 10.0;
            if (i == 0 && j == 0)
                max = matr[0][0];
            if (matr[i][j] > max)
            {
                max = matr[i][j];
                rowmax = i;
                colmax = j;
            }
            cout << fixed << setprecision(1) << setw(5) << matr[i][j];
        }
        cout << endl << endl;
    }
    cout << max << endl << rowmax << " " << colmax << endl << endl;
    cout << endl << endl;
 
    float temp;
 
    for (int i = 0; i < row; i++)
    {
        temp = matr[i][col - 1];
        matr[i][col - 1] = matr[i][colmax];
        matr[i][colmax] = temp;
    }
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
            cout << fixed << setprecision(1) << setw(5) << matr[i][j];
        cout << endl << endl;
    }
    system("pause");
}
Если есть замечания, то советы и критика принимается!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2017, 18:38
Ответы с готовыми решениями:

В заданной матрице найти сумму первых N/2 столбцов и сумму последних N/2 столбцов (N - четное)
Дан двумерный массив a(n*n). Найти сумму первых N/2 столбцов и сумму последних N/2 столбцов (N -...

Замена столбцов в матрице
Помогите в методе Tran2 поменят в квадратной матрице поменять ряды 4 и 3 местами ... using System;...

Замена столбцов в матрице. Mathcad
В двухмерном массиве из случайных чисел размера M на М. Заменять столбец n на столбец m, где n, m...

Перестановка столбцов в матрице
Здравствуйте, есть такое задание, но не знаю как его реализовать- &quot;Пользователь вводит матрицу MxN...

1
Модератор
Эксперт CЭксперт С++
4002 / 3510 / 621
Регистрация: 07.10.2015
Сообщений: 7,252
21.02.2017, 18:47 2
В целом неплохо
За исключением одного момента: чему будут равны индексы максимального элемента, если он окажется на месте [0;0]?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        for (j = 0; j < col; j++)
        {
            matr[i][j] = (rand() % 100) / 10.0;
            if (i == 0 && j == 0)
            {
                max = matr[0][0];
                rowmax = 0;
                colmax = 0;
            }
            else if (matr[i][j] > max)
            {
                max = matr[i][j];
                rowmax = i;
                colmax = j;
            }
            cout << fixed << setprecision(1) << setw(5) << matr[i][j];
        }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2017, 18:47

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

Перестановка столбцов в матрице.
Данная целочисленная матрица размера 6x9. Найти матрицу, выходит из данной: Перестановкой...

Перестановка столбцов в матрице.
Матрица G заполнена случайными целыми числами в диапазоне . Нужно обозначить любой столбец этой...

Сортировка столбцов в матрице
Привет всем! Нужна помощь найти ошибку(исправить) сортировку в матрице. Вот задание: Переставить...

Сортировка столбцов в матрице
В матрице переставить столбцы так, чтобы сумма элементов столбца росла от первого столбца до...


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

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

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