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

Заполнение главной диагонали матрицы максимальными элементами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Форматированный потоковый вывод http://www.cyberforum.ru/cpp-beginners/thread657176.html
Вопрос первый: istream& operator>> (istream& stream, matrix& obj){ cout << "Pls, enter matrix elements:" << endl; for (int i = 0; i < obj.Rows; i++){ for (int j = 0; j < obj.Cells; j++){...
C++ Матрицы: предложить пользователю ввести номер ученика и выдать его среднюю оценку Домашнее задание: двумерные массивы. 2. Написать программу, в которой в двумерном массиве будет храниться информация об оценках каждого из 20 учеников класса по предметам (строка – это номер... http://www.cyberforum.ru/cpp-beginners/thread657161.html
C++ Симметрично поменять местами все столбцы чисел относительно среднего столбца матрицы
Домашнее задание: двумерные массивы. 3. Написать программу, в которой создается двумерный массив. Нужно симметрично поменять местами все столбцы чисел относительно среднего столбца. Вывести на...
C++ Внести в массив оценки нового ученика с заданной позиции
Домашнее задание: двумерные массивы. 4. Написать программу, в которой в двумерном массиве хранятся годовые оценки по 10 предметам за 9-й класс каждого из 20 учеников класса (строка – это номер...
C++ Функция: продублировать вхождение каждого элемента списка One и сформировать из этих значений список Double http://www.cyberforum.ru/cpp-beginners/thread657153.html
Здравствуйте... При решение данной задачи <В составе программы описать функцию, которая дублирует вхождение каждого элемента списка One и формирует из этих значений список Double.> столкнулся с...
C++ Информация о проданных билетах храниться в матрице. Определить количество свободных мест Домашнее задание: двумерные массивы. 1. В поезде 12 вагонов, в каждом из которых 36 мест. Написать программу, в которой информация о проданных билетах будет храниться в двумерном массиве (номер... подробнее

Показать сообщение отдельно
jon_illien
3 / 3 / 1
Регистрация: 14.08.2012
Сообщений: 78

Заполнение главной диагонали матрицы максимальными элементами - C++

24.09.2012, 17:57. Просмотров 837. Ответов 5
Метки (Все метки)

спасибо, что откликнулись. нужно решить такую задачу:

Путем перестановки элементов добиться того, чтобы ее максимальный элемент находился в левом верхнем углу (0, 0), следующий по величине – в позиции (1, 1), следующий по величине – в позиции (2, 2) и т.д., заполнив таким образом всю главную диагональ.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template <class TYPE> void Func(TYPE x[][N], int M)
{
    int max, imax, jmax;
 
    for(int k=0; k<M; k++)
    {
        imax = 0; jmax = 0;
 
        for(int i=0; i<M; i++)
        {
            for(int j=1; j<N; j++)
            {
                if(x[i][j] > x[imax][jmax] && (i != k && j != k))
                    x[imax][jmax] = x[i][j];
            }
        }
        swap(x[k][k], x[imax][jmax]);
    }
}
Добавлено через 1 час 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
    int max, imax, jmax;
 
    for(int k=0; k<N; k++)
    {
        imax = 0; jmax = 0;
 
        for(int i=0; i<N; i++)
        {
            for(int j=1; j<N; j++)
            {
                if(x[i][j] > x[imax][jmax] && (i != k && j != k))
                {
                    imax = i;
                    jmax = j;
                    max = x[i][j];
                }
            }
        }
        swap(x[k][k], x[imax][jmax]);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru