Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/40: Рейтинг темы: голосов - 40, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 26.12.2016
Сообщений: 51

Поворот матрицы против часовой стрелки

08.01.2017, 15:37. Показов 8115. Ответов 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
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
59
60
61
62
// Программа_№5.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
 
void print(int n, int **a)
{
    for(int i = 0; i < n; ++i)
    {
        for(int j = 0; j < n; ++j)
           cout << a[i][j] << "\t";
    cout << endl;
    }
}
 
 void RotateMatrix(int **matrix, int **ret, int n)
        {
            for (int i = 0; i < n; ++i)
               for (int j = 0; j < n; ++j)
               ret[n - j - 1][i] = matrix[i][j]; // матрица повёрнутая против часовой стрелки
 
        }
int main()
{
    srand(time(NULL));
    double x;
    double f;
    int c[100];
    for (int i = 0; i < 100; i++)
        c[i] = 0;
    setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали
    printf("Введите N: ");
    scanf_s("%lf", &f);
 
    while (f <= 0 || f > 30 || round(f) != f)
    {
        printf("Вводите N cнова: ");
        scanf_s("%lf", &f);
    }
    int n = (int)f;
    int **array;
    array = new int *[n];
    int **ret;
    ret = new int *[n];
    for(int i = 0; i < n; ++i){
       array[i]= new int [n];
       ret[i]= new int [n];
    }
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            array[i][j] = rand() % 2;
    cout << "Матрица:\n" << endl;
    print(n,array);
    RotateMatrix(array,ret,4);
    cout << "\nПовёрнутая против часовой стрелки матрица:\n " << endl;
    print(n,ret);
    system("pause");
    return 0;
}
А ещё, можете пожалуйста подсказать, какие операторы нужно использовать, для окрашивания перевёрнутых частей матрицы.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.01.2017, 15:37
Ответы с готовыми решениями:

Заполнение матрицы против часовой стрелки
Заполнить матрицу 9х9 числами, начиная с единицы: вниз - вправо - вверх - влево. Помогите, пожалуйста. Срочно надо...

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

Заполнение матрицы спиралью против часовой стрелки
Напишите программу, которая выводит на экран матрицу размера N*N (0&lt;N&lt;100) заполненную змейкой числами от 1 до N^2 по следующему образцу...

1
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
08.01.2017, 18:20
Den_Nick, вот поворот против часовой стрелки:

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
#include <iostream>
 
using namespace std;
 
int main()
{
    int N;
    cout << "Введите размеры матрицы:" << endl;
    cout << "N = ";
    cin >> N;
    int** A = new int*[N];
    for (int i = 0; i < N; i++)
    {
        A[i] = new int[N];
    }
    int** B = new int*[N];
    for (int i = 0; i < N; i++)
    {
        B[i] = new int[N];
    }
    cout << "Введите матрицу:" << endl;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            cin >> A[i][j];
        }
    }
    cout << "Матрица после поворота:" << endl;
    for (int i = 0; i < N; i++)
    {
    for (int j = 0; j < N; j++)
    {
    B[i][j] = A[j][N-i-1]; 
    cout << B[i][j] << " ";
    }
    cout << endl;
    }
    for (int i = 0; i < N; i++)
    {
        delete[] A[i];
        delete[] B[i];
    }
    system("pause");
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.01.2017, 18:20
Помогаю со студенческими работами здесь

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

Записать текст матрицы от ее центра по спирали против часовой стрелки
Задача записать текст квадратной матрицы размера n(n-нечетное) от центра матрицы по спирали против часовой стрелки. Например матрица n i...

Как повернуть элементы матрицы на 90 градусов против часовой стрелки?
ЗАДАНИЕ: Дана матрица. Повернуть все её элементы вокруг центра на 90 градусов против часовой стрелки. #include &lt;iostream&gt; ...

Необходимо повернуть все элементы матрицы, кроме диагональных, против часовой стрелки на 90 градусов
Здравствуйте! Необходимо повернуть все элементы матрицы, кроме диагональных, против часовой стрелки на 90 градусов. Например: Было: ...

Повернуть матрицу против часовой стрелки
Повернуть матрицу против часовой стрелки. Я написал программу, но она не запускается. Где-то я опять ошибся. :-( // Программа_№5.cpp:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru