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

Как переставить в обратном порядке элементы главной диагонали? - C++

Восстановить пароль Регистрация
 
Shur1990
1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 28
19.01.2014, 13:37     Как переставить в обратном порядке элементы главной диагонали? #1
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
#include <stdio.h>
#define M 7
#define N 7
 
void main(void)
 
{int A[7][7]={1,2,3,5,6,7,8,9,2,1,2,3,5,6,7,8,3,0,1,2,3,5,6,7,4,9,0,1,2,3,5,6,5,8,9,0,1,2,3,5,6,7,8,9,1,2,3,4,7};
    int i,j,k;
 
 
    for(i=0;i<M/2;i++)
    for(j=0;j<N/2;j++)
    if(i==j)
        k=A[i][i];
        A[i][i]=A[M-i+1][N-i+1];
       A[M-i+1][N-i+1]=k;
 
 
 
 
 
 
 
 
 
 
    for(i=0;i<M;i++)
  {for(j=0;j<N;j++)
   {
       printf("%5d",A[i][j]);}printf("\n");}}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 13:37     Как переставить в обратном порядке элементы главной диагонали?
Посмотрите здесь:

Переставить в обратном порядке элементы массива C++
C++ Переставить в обратном порядке элементы массива
Как переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами C++
C++ Написать и протестировать подпрограмму, которая переставляет в обратном порядке элементы главной диагонали квадратной матрицы - вывод всей матрицы
Переставить элементы главной диагонали матрицы в обратном порядке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
19.01.2014, 13:44     Как переставить в обратном порядке элементы главной диагонали? #2
C++
1
2
3
4
5
6
7
int tmp;
for (int i=0; i<n/2; i++)
{
    tmp = a[i][i];
    a[i][i] = a[n-i-1][n-i-1];
    a[n-i-1][n-i-1] = tmp;
}
n - порядок матрицы
Shur1990
1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 28
19.01.2014, 13:46  [ТС]     Как переставить в обратном порядке элементы главной диагонали? #3
MicM, а j куда ?и M?
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
19.01.2014, 13:53     Как переставить в обратном порядке элементы главной диагонали? #4
Цитата Сообщение от Shur1990 Посмотреть сообщение
а j куда ?
Можешь вместо i написать j - ничего не измениться.
Цитата Сообщение от Shur1990 Посмотреть сообщение
и M?
Аналогично

Добавлено через 2 минуты
Если по твоему коду, то получится так:
C++
1
2
3
4
5
6
7
int tmp;
for (i=0; i<N/2; i++)
{
    tmp = A[i][i];
    A[i][i] = A[N-i-1][N-i-1];
    A[N-i-1][N-i-1] = tmp;
}
Что равносильно (если N==M):
C++
1
2
3
4
5
6
7
int tmp;
for (j=0; j<M/2; j++)
{
    tmp = A[j][j];
    A[j][j] = A[M-j-1][M-j-1];
    A[M-j-1][M-j-1] = tmp;
}
Yandex
Объявления
19.01.2014, 13:53     Как переставить в обратном порядке элементы главной диагонали?
Ответ Создать тему
Опции темы

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