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

Поменять местами максимальный и минимальный элементы матрицы

03.10.2012, 23:00. Показов 3152. Ответов 3
Метки нет (Все метки)

Здравствуйте. Помогите, пожалуйста, написать следующую программу: Дана матрица порядка n. Поменять местами максимальный и минимальный элементы относительно главной диагонали, т.е. сначала нужно найти минимальный элемент снизу относительно главной диагонали, потом найти максимальный элемент сверху относительно главной диагонали, а потом их поменять местами. Например, если нам дана матрица
1 3 6 8
9 12 7 10
5 8 9 11
15 86 92 10
то местами нужно поменять цифры 5 и 11 и получится матрица:
1 3 6 8
9 12 7 10
11 8 9 5
15 86 92 10
Заранее спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2012, 23:00
Ответы с готовыми решениями:

Поменять местами максимальный и минимальный элементы матрицы
Задание: ввести с клавиатуры массив, состоящий из n строк и m столбцов. Создать библиотеку, в...

Найти максимальный и минимальный элементы матрицы и поменять их местами
Помогите пожалуйста нужно создать программу в с++ которая вычисляет определитель квадратной ...

Найти максимальный и минимальный элементы матрицы и поменять их местами
2.Матрица B, содержащая целые числа, вводится с клавиатуры. Найти максимальный и минимальный...

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

3
Эксперт С++
4720 / 2541 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
04.10.2012, 00:09 2
Если матрица a[][] размерностью n*n уже есть, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int i_min=1, j_min=0, i_max=0, j_max=1, i, j;
for(i=0; i<n-1; i++)
    for(j=i+1; j<n; j++)
        if(a[i][j]>a[i_max][j_max])
        {
            i_max=i; j_max=j;
        }
for(i=2; i<n; i++)
    for(j=0; j<i; j++)
        if(a[i][j]<a[i_min][j_min])
        {
            i_min=i; j_min=j;
        }
int t=a[i_min][j_min]; a[i_min][j_min]=a[i_max][j_max]; a[i_max][j_max]=t;
// в этом месте матрица a[][] уже преобразована
1
1 / 1 / 0
Регистрация: 03.10.2011
Сообщений: 96
04.10.2012, 00:20  [ТС] 3
Матрица квадратная. А можно полностью код? Размерность и матрицу нужно вводить с клавиатуры
0
Эксперт С++
4720 / 2541 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
04.10.2012, 00:27 4
Цитата Сообщение от VladosLancer Посмотреть сообщение
Матрица квадратная
я догадался.
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
#include <iostream>
using namespace std;
 
int main()
{
    int i_min=1, j_min=0, i_max=0, j_max=1, i, j, a[100][100], n;
    cout<<"n= "; cin>>n;
    for(i=0; i<n; i++)
        for(j=0; j<n; j++)
        {
            cout<<"["<<i<<"]["<<j<<"]= ";
            cin>>a[i][j];
        }
    cout<<"Ishodn matr:"<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    for(i=0; i<n-1; i++)
        for(j=i+1; j<n; j++)
            if(a[i][j]>a[i_max][j_max])
            {
                i_max=i; j_max=j;
            }
    for(i=2; i<n; i++)
        for(j=0; j<i; j++)
            if(a[i][j]<a[i_min][j_min])
            {
                i_min=i; j_min=j;
            }
    int t=a[i_min][j_min]; a[i_min][j_min]=a[i_max][j_max]; a[i_max][j_max]=t;
// в этом месте матрица a[][] уже преобразована
    cout<<"Poluch matr:"<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2012, 00:27

В каждой строке матрицы поменять местами максимальный и минимальный элементы
Дана действительная матрица размера (nxm), (n,m меньше или равно 10). В каждой строке матрицы ...

Поменять местами строки, содержащие минимальный и максимальный элементы матрицы
Дана матрица размера 5х10. Поменять местами строки, содержащие минимальный и максимальный элементы...

В прямоугольной матрицы поменять местами строки, содержащие максимальный и минимальный ее элементы
В прямоугольной матрицы поменять местами строки, содержащие максимальный и минимальный ее элементы....

Поменять местами в каждой строке матрицы минимальный и максимальный элементы, подскажите ошибки
Помогите мне найти мои ошибки. В произвольной матрице поменять местами в каждой строке минимальный...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru