2 / 2 / 0
Регистрация: 08.11.2011
Сообщений: 10
1

Отобразить главную и побочную диагонали симметрично относительно вертикальной оси

08.11.2011, 23:21. Показов 8847. Ответов 7
Метки нет (Все метки)

Помогите, пожалуйста, с решением задачи:
Заполнить матрицу случайными числами. Отобразить главную и побочную диагонали симметрично относительно вертикальной оси. Матрица 9х9.
С рандомными значениями, вроде, разобрался (matrix[i][j] = rand() % 100), но вот как представить симметрию ума не приложу(
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2011, 23:21
Ответы с готовыми решениями:

Отобразить главную и побочную диагонали симметрично относительно вертикальной оси
Да, задача будет сложной не для всех, но для меня она очень сложная. Создать квадратную матрицу...

Отобразить главную и побочную диагонали матрицы симметрично относительно горизонтальной оси
Здравствуйте, помогите, пожалуйста, решить задачу. Нужно заполнить матрицу случайными числами....

Отобразить симметрично относительно вертикальной оси секторы матрицы
Заполнить матрицу случайными числами. Отобразить симметрично относительно вертикальной оси секторы...

Отобразить симметрично относительно вертикальной оси секторы матрицы
Всем ПРИВЕТ! Помогите пожалуйста с задачкой ...=) Заполнить матрицу А(10,10), случайными числами....

7
Заблокирован
08.11.2011, 23:33 2
Цитата Сообщение от Seniorus Посмотреть сообщение
Отобразить главную и побочную диагонали симметрично относительно вертикальной оси.
расшифруйте, можно рисунком
0
2 / 2 / 0
Регистрация: 08.11.2011
Сообщений: 10
08.11.2011, 23:49  [ТС] 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
#include "stdafx.h"
    #include <iostream>
    #include <conio.h>
    #include <stdio.h>
    #include <string.h>
 
    using namespace std;
 
    #define A 9
 
    int main(void)
    {
    int matrix[A][A]; 
 
    for(int i = 0; i <= A; ++i)
    {
        for(int j = 0; j <= A; ++j)
        {
            // j = i   условие для элементов на главной диагонали
            // j = (A - 1 - j)   условие для элементов на побочной диагонали
            
            if( j = i && j = (A - 1 - i) )
            {
                    
                    matrix[i][j] = matrix[i][A - 1 - j];
            }
            else  
                   matrix[i][j] = rand() % 100;
       }
    }
    _getch();
      return 0;
    }
На картинке элементы взаимозаменить заменить черные <-> красные, синие<->зеленые
Изображения
 
0
2 / 2 / 0
Регистрация: 08.11.2011
Сообщений: 10
09.11.2011, 00:04  [ТС] 4
Цитата Сообщение от alkagolik Посмотреть сообщение
расшифруйте, можно рисунком
Думаю, на русском лучше некуда вышло)
0
277 / 172 / 21
Регистрация: 10.07.2011
Сообщений: 441
09.11.2011, 00:11 5
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
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::srand;
using std::rand;
 
#include <iomanip>
using std::setw;
 
#include <ctime> 
 
 
int main(){
    const int a = 9;
    int temp;
    int matrix[a][a];
 
    srand(time(NULL));
 
    for(int i = 0; i<a; ++i){   // заполняем случайными числами
        for(int j = 0; j<a; ++j){
            matrix[i][j] = rand() % 100;
            cout << setw(3)<< matrix[i][j] << " ";
        }
        cout << endl;
    }
    for(int i = 0; i<a; ++i){   //меняем значения
        int temp = matrix[i][i];
        matrix[i][i] = matrix[i][(a-1)-i];
        matrix[i][(a-1)-i] = temp;
    }
 
    cout << endl;
    for(int i = 0; i<a; ++i){   //печатаем
        for(int j = 0; j<a; ++j){
            cout << setw(3) << matrix[i][j] << " ";
        }
        cout << endl;
    }
 
    cin.get();
 
}
2
2 / 2 / 0
Регистрация: 08.11.2011
Сообщений: 10
09.11.2011, 00:15  [ТС] 6
Цитата Сообщение от greeezz Посмотреть сообщение
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
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::srand;
using std::rand;
 
#include <iomanip>
using std::setw;
 
#include <ctime> 
 
 
int main(){
    const int a = 9;
    int temp;
    int matrix[a][a];
 
    srand(time(NULL));
 
    for(int i = 0; i<a; ++i){   // заполняем случайными числами
        for(int j = 0; j<a; ++j){
            matrix[i][j] = rand() % 100;
            cout << setw(3)<< matrix[i][j] << " ";
        }
        cout << endl;
    }
    for(int i = 0; i<a; ++i){   //меняем значения
        int temp = matrix[i][i];
        matrix[i][i] = matrix[i][(a-1)-i];
        matrix[i][(a-1)-i] = temp;
    }
 
    cout << endl;
    for(int i = 0; i<a; ++i){   //печатаем
        for(int j = 0; j<a; ++j){
            cout << setw(3) << matrix[i][j] << " ";
        }
        cout << endl;
    }
 
    cin.get();
 
}
Просто ОГРОМНЕЙШЕЕ СПАСИБО!!!
1
Заблокирован
09.11.2011, 00:35 7
нк вот как бэ главная диагналь... если еще актуально... а ели нет - то и нет... дамп
м да
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
#define A 9
 
int main(void)
{
    int matrix[A][A], tmp;
    srand(time(0));
 
    //заполнить матрицу сл числами
    for(int i = 0; i < A; ++i)
        for (int j = 0; j < A; ++j)
            matrix[i][j] = rand() % 2;
 
    puts("исходная матрицаn\n");
    for(int i = 0; i < A; ++i){
        printf("\n");
        for (int j = 0; j < A; ++j){
            matrix[i][j] = rand() % 2;
            printf( "%d ",matrix[ i ][ j ] );
        }
    }
 
    puts("ремейкнутая матрицаn\n");
    for(int i = 0; i < A; ++i){
        printf("\n");
        for (int j = 0; j < A; ++j){
            if(i == j)
                printf( "%d ", matrix[ i ][ j ] );
            else
                printf(" ");
 
        }
    }
 
    return 0;
}
1
2 / 2 / 0
Регистрация: 08.11.2011
Сообщений: 10
09.11.2011, 01:06  [ТС] 8
Цитата Сообщение от alkagolik Посмотреть сообщение
нк вот как бэ главная диагналь... если еще актуально... а ели нет - то и нет... дамп
м да
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
#define A 9
 
int main(void)
{
    int matrix[A][A], tmp;
    srand(time(0));
 
    //заполнить матрицу сл числами
    for(int i = 0; i < A; ++i)
        for (int j = 0; j < A; ++j)
            matrix[i][j] = rand() % 2;
 
    puts("исходная матрицаn\n");
    for(int i = 0; i < A; ++i){
        printf("\n");
        for (int j = 0; j < A; ++j){
            matrix[i][j] = rand() % 2;
            printf( "%d ",matrix[ i ][ j ] );
        }
    }
 
    puts("ремейкнутая матрицаn\n");
    for(int i = 0; i < A; ++i){
        printf("\n");
        for (int j = 0; j < A; ++j){
            if(i == j)
                printf( "%d ", matrix[ i ][ j ] );
            else
                printf(" ");
 
        }
    }
 
    return 0;
}
И Вам спасибо, что не оставили в беде)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2011, 01:06
Помогаю со студенческими работами здесь

Отобразить симметрично относительно вертикальной оси секторы матрицы
Напишите пожалуйста прогу. Создать квадратную матрицу целых чисел размером 9х9. Заполнить матрицу...

Отобразить симметрично относительно вертикальной оси секторы матрицы...
Напишите программу, пожалуйста. Заполнить матрицу случайными числами. Отобразить симметрично...

Отобразить симметрично относительно вертикальной оси секторы матрицы
Всем привет! Не могу решить задачу на языке Турбо С: Дана матрица 9 х 9, нужно отобразить...

Отобразить симметрично относительно вертикальной оси секторы матрицы
Доброго времени суток. Помогите разобраться с матрицей: нужно создать квадратную матрицу целых...


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

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

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