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

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

Восстановить пароль Регистрация
 
manynka
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 5
28.06.2012, 16:01     Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером t. #1
Задана квадратная матрица. Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером t.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2012, 16:01     Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером t.
Посмотрите здесь:

Поменять местами строку с минимальным элементом на главной диагонали со строкой с заданным номером t. C++
Найти строку матрицы с максимальным нечетным элементом поменять эту строку местами с нулевой строкой. C++
Найти строку матрицы с максимальным нечетным элементом поменять эту строку местами с нулевой строкой C++
C++ Поменять местами наибольший элемент строки с элементом главной диагонали в матрице
C++ Поменять местами строку матрицы с максимальным элементом на главной диагонали со строкой m
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Zuzik
 Аватар для Zuzik
219 / 204 / 34
Регистрация: 11.06.2012
Сообщений: 1,336
28.06.2012, 16:14     Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером t. #2
A - твоя матрица, n ее размер. Вот сам код который заменяет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int maxindex=0,maxElement=0;
for(int i=0;i<n;i++)
{
if(A[i][i]>maxElement)
{
maxElement=A[i][i];
maxindex=i;
}
}
for (int j=0;j<n;j++)
{
int temp=0;
temp=A[t][j];
A[t][j]=A[maxindex][j];
A[maxindex][j]=temp;
}
manynka
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 5
28.06.2012, 18:13  [ТС]     Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером t. #3
не меняет....
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
28.06.2012, 19:03     Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером t. #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
#include <iostream> 
#include <ctime> 
#include <cstdlib> 
#include <iomanip> 
using namespace std; 
int main()
{   
    setlocale(0, "rus");  // русская консоль
    const int size = 5;   // размер маорицы
    srand((unsigned) time(0));
    int matrix[size][size]; // матрица
    int i, j; 
    int max; 
    int index;
    int t;
    for( i = 0; i < size; i++)
        for ( j = 0; j < size; j++)
            matrix[i][j] = rand() % 100; // заполняем случайными числами
 
    for ( i = 0; i < size; i++)
        for ( j = 0; j < size; j++) // выводим матрицу на экран
        {
            if( j % size == 0) 
                cout << endl; 
            cout << setw(3) << matrix[i][j]; 
        }  
        cout << endl; 
        max = matrix[0][0]; 
        index = 0;
        for ( i = 1; i < size; i++)  // ищем максимальный элемент диагонали
        {
        if( max < matrix[i][i]) 
            max = matrix[i][i];  
           index = i; // индекс где расположен максимальный элемент
        }
 
        cout << "Максимальный элемент главной диагонали " << max << endl; // выводим максимальный элемент
 
        cout << "Введите t (0-4) "<< endl; 
        cin >> t; 
 
        
            for ( j = 0; j < size; j++) // меняем местами строки
            { 
                int temp = matrix[index][j]; 
                matrix[index][j] = matrix[t][j]; 
                matrix[t][j] = temp; 
            } 
 
for ( i = 0; i < size; i++)       // выводим изменённую матрицу
        for ( j = 0; j < size; j++) 
        {
            if( j % size == 0) 
                cout << endl; 
            cout << setw(3) << matrix[i][j]; 
        }  
            cout << endl;
   
            system("Pause");
}
manynka
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 5
28.06.2012, 19:37  [ТС]     Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером t. #5
работает....спасибо огромное...
Yandex
Объявления
28.06.2012, 19:37     Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером t.
Ответ Создать тему
Опции темы

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