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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Анна Лето
0 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 47
#1

Перестановками заполнить главную диагональ двумерного массива наибольшими элементами - C++

21.11.2014, 13:18. Просмотров 242. Ответов 3
Метки нет (Все метки)

Дана квадратная матрица. С помощью перестановок добиться того, чтобы её максимальный элемент находился в верхнем левом углу, следующий по величине в позиции (2.2) и т.д. Таким образом необходимо заполнить все главную диагональ.
Подскажите, как рациональнее сделать это.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2014, 13:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перестановками заполнить главную диагональ двумерного массива наибольшими элементами (C++):

Поменять главную и побочную диагональ квадратного двумерного массива - C++
Всем доброго времени суток. Помогите, пожалуйста, разобраться с задачкой. Написать программу, в которой двумерный квадратный массив...

Заполнить диагональ трехмерного массива - C++
#include <iostream> using namespace std; class Arrtridimensional {//Объявили класс public: static const int x = 5, y = 5, z = 5; ...

Заменить главную диагональ матрицы - C++
Нужна помощь. Не могу заменить главную диагональ матрицы минимальным элементом, напишите пожалуйста. #include <iostream> ...

Найти главную диагональ матрици - C++
Народ, подскажите как найти главную диагональ матрицы на С++? Буду очень благодарен.

Создание двумерного массива с элементами из другого - C++
Здравствуйте,вопрос в том,как создать двумерный массив,который будет заполнен элементами второго двумерного массива?

Матрицы: отсортировать главную диагональ по убыванию - C++
:wall: :wall: :wall: помогите написать программу, сессия на носу:negative:а я не шарю .... задача: Задана матрица А(7,7) целых чисел....

3
zss
Модератор
Эксперт С++
6578 / 6140 / 2021
Регистрация: 18.12.2011
Сообщений: 15,995
Завершенные тесты: 1
21.11.2014, 13:28 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int a[N][N];
...
for(int i=0;i<n;i++)
{
  int mx=a[i][i];
  int i0=i;
  int j0=i;
  for(int i1=0;i1<N;i1++)
    for(int j=0;j<N;j++)
       if( (i1!=j || i1>i) && mx<a[i1][j])
       {
             mx=a[i1][j];
             i0=i1;j0=j;
       }
   int t=a[i][i];
   a[i][i]=mx;
   a[i0][j0]=t;
}
0
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
21.11.2014, 13:38 #3
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
// Example program
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    int a[100][100],buf,n,max,x,y,b[100];
    cin>>n;
    
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    cin>>a[i][j];
    
    int min=a[0][0];
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    if(min>a[i][j]) min=a[i][j];
  
    for(int k=0;k<n;k++)
    {
    b[k]=a[0][0];x=0;y=0;
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    if(a[i][j]>b[k]){b[k]=a[i][j];x=i;y=j;}
    a[x][y]=a[k][k];
    a[k][k]=min;    
    }
    for(int i=0;i<n;i++)
    a[i][i]=b[i];
    
    for(int i=0;i<n;i++)
    {for(int j=0;j<n;j++)
    cout<<a[i][j]<<' ';
    cout<<endl;}
 return 0;   
}
0
Анна Лето
0 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 47
21.11.2014, 21:29  [ТС] #4
Скажите, а где в этом коде Вы находите следующий за максимальным элемент. Объясните, пожалуйста, как работает?
0
21.11.2014, 21:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2014, 21:29
Привет! Вот еще темы с ответами:

Матрица, главную диагональ заменить нулями - C++
#include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream.h&gt; #include&lt;stdlib.h&gt; void main() { int i,j; int mas; cout«&quot;vvedite...

Упорядочить по возрастанию главную диагональ матрицы - C++
Упорядочить по возрастанию главную диагональ матрицы.

Функция инициализации двумерного массива нулевыми элементами - C++
написать функцию инициализации двумерного массива нулевыми элементами использовать функцию для двух массивов A(10*10) B(2*50)

Поменять местами побочную и главную диагональ в матрице - C++
Здравствуйте. Помогите, пожалуйста, написать программу которая меняет побочную и главную диагональ в матрице


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

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

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