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

Повернуть матрицу против часовой стрелки - C++

07.01.2017, 20:22. Просмотров 347. Ответов 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
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
63
64
65
// Программа_№5.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
 
int main()
{
setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали
    double x;
    double f;
    int array[100][100];
    int c[100];
    for (int i = 0; i < 100; i++)
        c[i] = 0;
    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;
    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()
{
    setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали
    srand(time(NULL));
    int n = 4;
    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() % 10;
    cout << "Матрица:\n" << endl;
    print(n,array);
    RotateMatrix(array,ret,4);
    cout << "\nМатрица повёрнутая против часовой стрелки:\n" << endl;
    print(n,ret);
    system("pause");
    return 0;
}
Добавлено через 13 минут
Повёрнутую часть матрицы нужно закрасить цветом.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2017, 20:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Повернуть матрицу против часовой стрелки (C++):

Повернуть матрицу на угол 90° против часовой стрелки
Дана квадратная матрица A порядка M. Повернуть ее на угол 90° в положительном...

Повернуть матрицу с случайными числами на 90 градусов против часовой стрелки
Задание звучит так: Заполнить матрицу случайными числами. Развернуть матрицу на...

Повернуть матрицу на 180 градусов против часовой стрелки, не создавая дополнительных массивов
Имеется квадратная матрица (не менее, чем 5 на 5). Ввести элементы,...

Повернуть массив на 90˚ против часовой стрелки
Здравствуйте. Помогите пожалуйста решить задание по c++. Нужно повернуть...

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

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

3
likehood
930 / 789 / 378
Регистрация: 25.12.2016
Сообщений: 2,627
Завершенные тесты: 3
07.01.2017, 20:28 #2
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

Почему два мейна?
1
Den_Nick
1 / 1 / 3
Регистрация: 26.12.2016
Сообщений: 51
07.01.2017, 20:36  [ТС] #3
Один для ввода и вывода N. А второй для работы с матрицей.
0
gru74ik
Модератор
Эксперт CЭксперт С++
4648 / 1962 / 293
Регистрация: 20.02.2013
Сообщений: 5,226
Записей в блоге: 23
07.01.2017, 20:45 #4
Den_Nick, два мэйна - это как ребёнок с двумя головами. Редко, но, наверное, бывает. Хотя нормальным назвать это весьма затруднительно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2017, 20:45
Привет! Вот еще темы с решениями:

Заполнить матрицу случайными числами. Развернуть матрицу на 90(градусов) против часовой стрелки
Заполнить матрицу случайными числами. Развернуть матрицу на 90o против часовой...

Заполнить матрицу с середины против часовой стрелки
Нужно заполнить квадратную матрицу(то есть размер nXn) нужно заполнить по...

Вывести содержимое файла в матрицу по спирали против часовой стрелки
необходимо считывать из файла символ и заносить его в матрицу по спирали против...

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


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

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

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