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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.75
SNkMaster
1 / 1 / 0
Регистрация: 21.12.2007
Сообщений: 5
#1

Поворот двумерного массива - C++

21.12.2007, 21:42. Просмотров 3703. Ответов 5
Метки нет (Все метки)

Дана квадратная матрица. нужно переместить числа так, чтобы эта операция была эквивалентна повороту массива на 90 градусов по часовой стрелке

Если не сложно помогите! никак зависимость не могу найти
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2007, 21:42     Поворот двумерного массива
Посмотрите здесь:

Поворот динамического двумерного массива - C++
Доброго времени суток. Столкнулся с такой проблемой что не могу развернуть динамический двумерный массив. Результат выводит плачевный: ...

Поворот двумерного вектора на 45 градусов - C++
Нашел решение близко похожее на нужное, но поворот происходит на 90 градусов. Сначала решил по глупости сделать отсчет не через...

Поворот массива на 45% - C++
Здравствуйте уважаемые форумчане, у меня появилась задачка одна, нужно Заполнить двумерный массив размерности nxn по заданному правилу: ...

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

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

Поворот прямоугольного массива - C++
Помогите пожалуйста с решением Поворот прямоугольного массива Дан прямоугольный массив размером 3×4. Поверните его на 90 градусов по...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
./run
38 / 10 / 2
Регистрация: 06.12.2007
Сообщений: 133
22.12.2007, 03:09     Поворот двумерного массива #2
Если правильно понял задачу то примерно так :
Код
#include  <iostream>
#include  <conio.h>

using namespace std;

void main() {

    const int N  = 100;
    int mass[N][N] = {0};
    int transp_mass[N][N] = {0};
    int count;

    cout<<"Input size matrix";
    cin>>count;
    cout<<endl;

    for (int i = 0;i<count;i++)
    {
        for (int j = 0;j<count;j++)
        {
            cout<<"Input element ["<<i<<"]["<<j<<"] :";
            cin>>mass[i][j];
            cout<<endl;
        }
    }

    for (int i = 0;i<count;i++)
    {
        for (int j = 0;j<count;j++ )
        {
            transp_mass[i][j] = mass[j][i];
        }
    }

    for (int i = 0;i<count;i++)
    {
        for (int j = 0;j<count;j++)
        {
            cout<<transp_mass[i][j]<<" ";
        }
        cout<<endl;
    }
    getch();
}
SNkMaster
1 / 1 / 0
Регистрация: 21.12.2007
Сообщений: 5
24.12.2007, 08:58  [ТС]     Поворот двумерного массива #3
спасибо, но это не совсем то!
напр. дана матрица 3х3:
1 2 3
4 5 6
7 8 9

должно получиться:
7 4 1
8 5 2
9 6 3
./run
38 / 10 / 2
Регистрация: 06.12.2007
Сообщений: 133
24.12.2007, 10:03     Поворот двумерного массива #4
Ну тогда так
Код
#include <iostream>
#include <conio.h>

using namespace std;

void main() {

    const int N  = 100;
    int mass[N][N] = {0};
    int transp_mass[N][N] = {0};
    int count;

    cout<<"Input size matrix";
    cin>>count;
    cout<<endl;

    for (int i = 0;i<count;i++)
    {
        for (int j = 0;j<count;j++)
        {
            cout<<"Input element ["<<i<<"]["<<j<<"] :";
            cin>>mass[i][j];
            cout<<endl;
        }
    }

    int f = count;
    for (int i = 0;i<count;i++)
    {
        f = count-1;
        for (int j = 0;j<count;j++ )
        {
            transp_mass[i][f] = mass[j][i];
            f--;
        }
    }

    for (int i = 0;i<count;i++)
    {
        for (int j = 0;j<count;j++)
        {
            cout<<transp_mass[i][j]<<" ";
        }
        cout<<endl;
    }
    getch();
}
SNkMaster
1 / 1 / 0
Регистрация: 21.12.2007
Сообщений: 5
24.12.2007, 20:26  [ТС]     Поворот двумерного массива #5
ОГРОМНОЕ СПАСИБО
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2011, 23:06     Поворот двумерного массива
Еще ссылки по теме:

Поворот массива на 90 градусов по часовой стрелке - C++
Всем привет! Помогите найти ошибку, программа должна поворачивать целочисленный массив на 90 градусов по часовой стрелке Пример 1 2 3 ...

Удалить из двумерного массива элементы другого массива - C++
Всем доброе время суток) Сегодня столкнулся с таким заданием: нужно Ввести с клавиатуры прямоугольную матрицу и вектор целых чисел. Найти...

Заполнение двумерного массива - C++
Помогите пожалуйста написать програму Двумерного массива с++ по такой схеме 1 3 4 10 11 2 5 9 12 19 6 8 13 18 20 7 14 17 21 24 15...

Заполнение двумерного массива - C++
Многоуважаемые форумчане, мне нужно создать двумерный массив NxN N - через cin &gt;&gt; N; в котором по главной диагонали числа от N до 1, а в...

Заполнение двумерного массива - C++
есть 4 массива одномерных, как сделать чтобы создавался массив А двумерный размером 4х4, который заполнялся бы сравнением елементов этих...

Преобразование двумерного массива - C++
Помогите нужно написать функцию которая преобразовывает матрицу в строку по схеме например 1 2 3 4 5 6 7 8 9 в такую строку ...


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

Или воспользуйтесь поиском по форуму:
Bizzart
Сообщений: n/a
13.06.2011, 23:06     Поворот двумерного массива #6
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
#include <iostream>
 
using namespace std;
 
void main()
{
    int x;
    int chuslo = 1;
    int a[5][5];
    int b[5][5];
    for(int i=0;i<5;i++)
    {
        for(int j=0;j<5;j++)
        {
            a[i][j] = chuslo;
            chuslo++;
        }
    }
    for(int i=0;i<5;i++)
    {
        x = 4;
        for(int j=0;j<5;j++)
        {
            b[i][j] = a[x][i];
            cout<<b[i][j]<<" ";
            x--;
        }
        cout<<endl;
    }
    cin>>a[0][0];
}
Yandex
Объявления
13.06.2011, 23:06     Поворот двумерного массива
Ответ Создать тему
Опции темы

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