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

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

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

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

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

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

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

Зеркальный поворот массива C++
залить из двумерного массива данные в одномерный длиной, равной количеству всех элементов исходного массива C++
поворот массива на 90° C++
C++ Поворот массива на 45%
C++ ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами
Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива. C++
Найти номер строки и столбца двумерного массива для минимального элемента этого массива C++
C++ Написать программу, которая вычисляет сумму элементов двумерного массива по столбцам. Организовать ввод массива с клавиатуры по строкам
C++ Заменить все элементы массива, попадающие в интервал, нулем. Выполнить двумя способами: с помощью одномерного и двумерного массива.
Поворот прямоугольного массива C++
Поворот двумерного вектора на 45 градусов C++
C++ Удалить из двумерного массива элементы другого массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
./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
ОГРОМНОЕ СПАСИБО
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