Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Zhandarbek
3 / 3 / 2
Регистрация: 15.08.2011
Сообщений: 60
#1

Поворот матрицы - C++

24.01.2012, 07:42. Просмотров 1379. Ответов 6
Метки нет (Все метки)

Здравствуйте!
Мне нужно повернуть матрицу на 90 градусов вправо, то есть
дается:
-------
abcd
edgh
ijkl
mnop
-------
после поворота:
miea
njdb
okgc
plhd
http://www.cyberforum.ru/cpp-beginners/thread28351.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2012, 07:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поворот матрицы (C++):

Поворот матрицы
Содержимое матрицы размерности n x n повернуть на 90 градусов по часовой...

Поворот матрицы
Нужно повернуть квадратную матрицу на 180 градусов. У меня не поворачиваются...

Поворот матрицы m*n на 90 градусов
Всем привет! Народ, нужна ваша помощь. Для реализации задачи необходима...

Поворот рамки матрицы
Помогите плиз написать программу для поворота "внешних" элементов матрицы (не...

2048 поворот матрицы
Здравствуйте, пытаюсь сделать класс для игры 2048 используя stl. Сделал ход...

6
greeezz
274 / 167 / 21
Регистрация: 10.07.2011
Сообщений: 441
24.01.2012, 08:31 #2
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
#include <iostream>
#include <iomanip>
 
int main() {
 
    const int rows = 4;
    const int cols = 4;
    int tempValue;
 
    int myMatrix[rows][cols];
 
    //fill matrix
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            myMatrix[i][j] = j + i + i * cols;
        }
    }
 
    //matrix before 
    std::cout << "\n\nMy Matrix before :: " << std::endl;
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            std::cout << std::setw(3) << myMatrix[i][j];
        }
        std::cout << std::endl;
    }
 
    //first move
    for (int i = 0; i < rows; ++i) {
        for (int j = i; j < cols; ++j) {
            tempValue = myMatrix[i][j];
            myMatrix[i][j] = myMatrix[j][i];
            myMatrix[j][i] = tempValue;
        }
    }
 
    //second move
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols/2; ++j) {
            tempValue = myMatrix[i][cols-1-j];
            myMatrix[i][cols-1-j] = myMatrix[i][j];
            myMatrix[i][j] = tempValue;
        }
    }
 
    //matrix before replacement
    std::cout << "\n\nMy Matrix +90 :: " << std::endl;
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            std::cout << std::setw(3) << myMatrix[i][j];
        }
        std::cout << std::endl;
    }
 
 
std::cin.get();
    return 0;
}
вывод

My Matrix before ::
0 1 2 3
5 6 7 8
10 11 12 13
15 16 17 18


My Matrix +90 ::
15 10 5 0
16 11 6 1
17 12 7 2
18 13 8 3


Не по теме:

арзымайды Zhandarbek, арзымайды.

0
Zhandarbek
3 / 3 / 2
Регистрация: 15.08.2011
Сообщений: 60
24.01.2012, 08:46  [ТС] #3
Спасиб, разобрался!
И вот здесь помогите плз:
http://www.cyberforum.ru/cpp-beginners/thread433526.html#post2420800
0
greeezz
274 / 167 / 21
Регистрация: 10.07.2011
Сообщений: 441
24.01.2012, 08:53 #4
Цитата Сообщение от Zhandarbek Посмотреть сообщение
Спасиб, разобрался!
И вот здесь помогите плз:
я с самого начала в ваших способностях не сомневался
0
Zhandarbek
3 / 3 / 2
Регистрация: 15.08.2011
Сообщений: 60
24.01.2012, 08:54  [ТС] #5
Цитата Сообщение от greeezz Посмотреть сообщение
я с самого начала в ваших способностях не сомневался
я принимаю это как оскорбление
0
greeezz
24.01.2012, 09:16
  #6

Не по теме:

Цитата Сообщение от Zhandarbek Посмотреть сообщение
я принимаю это как оскорбление
во жись то до чего дошла.. сначала требуют решить задачу даже не сказав пожалуйста.. потом просят еще помочь.. а когда человеку говоришь что не сомневался что он разберется... выясняется что это его оскарбляет.. Вы не находите логичным что я бы не решал вам задачу а сразу написал то что вы бы точно приняли за оскарбление..??
Вы в следующий раз вместе с требованием решить задачу напишите что вам можно говорить а что нельзя. ....
Тихий ужОс просто.

1
KATbIK
24.01.2012, 09:22     Поворот матрицы
  #7

Не по теме:

Камрады это дуэль, выбирайте шпаги.

0
24.01.2012, 09:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2012, 09:22
Привет! Вот еще темы с ответами:

Не осуществляется поворот матрицы
Значит такая пробелма. Имеется следующая задача: Для заданного целого...

Поворот матрицы по часовой стрелки
Задан квадратный массив А из N строк и N столбцов. Произвести «поворот по...

Поворот матрицы на 90 градусов относительно центра
Как реализовать это в с++? И размерность матрицы задается пользователем (если...

Поворот матрицы вокруг главной диагонали
Собственно, сама задача, я её сделал методом индексации, указатели только...


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

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

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