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

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

Войти
Регистрация
Восстановить пароль
 
flexalumna2008
1 / 1 / 0
Регистрация: 07.09.2011
Сообщений: 35
#1

матрицы: повернуть на 90 градусов;макс.значение элементов... - C++

11.12.2011, 00:44. Просмотров 710. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста хотя бы часть кода написать на С.

1) повернуть массив по часовой стрелке на 90 градусов.


на 180 я поняла как поворачивать, а на 90 вроде и нашла какие-то варианты в интернете, но не могу понять КАК ИМЕНО, то есть каков принцип этого поворота. Обьясните мне "на пальцах" как очень тупому человеку, пожалуйста.


2)Опять матрица, есть диагональ (слева на право, с верху вниз). Нужно найти максимальное значение элементов помеченых на рисунке. А на рисунке отмечены те что входят в диагональ, и все что от нее вправо вверх....

Спасибо большое.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2011, 00:44     матрицы: повернуть на 90 градусов;макс.значение элементов...
Посмотрите здесь:

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

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

Повернуть произвольную матрицу на 90 градусов - C++
Надо повернуть произвольную матрицу на 90 градусов.

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

Матрицу повернуть на 90 градусов по часовой стрелке на C++ - C++
Содержимое квадратной матрицы A(n,n) повернуть на 90 градусов по часовой стрелке, считая центром поворота центр симметрии матрицы.

Повернуть матрицу на 90, 180, 270 градусов - C++
Дана квадратная матрица порядка M. Повернуть ее на 90, 180 и 270 градусов в положительном направлении. Нашел вот такой вот код: ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
11.12.2011, 02:01     матрицы: повернуть на 90 градусов;макс.значение элементов... #2
Цитата Сообщение от flexalumna2008 Посмотреть сообщение
2)Опять матрица, есть диагональ (слева на право, с верху вниз). Нужно найти максимальное значение элементов помеченых на рисунке. А на рисунке отмечены те что входят в диагональ, и все что от нее вправо вверх....
C
1
2
3
4
5
max = m[0][0];
for (i = 0; i < N; i++) /* N - order of a matrix */
    for (j = i; j < N; j++)
        if (m[i][j] > max)
            max = m[i][j];
Цитата Сообщение от flexalumna2008 Посмотреть сообщение
1) повернуть массив по часовой стрелке на 90 градусов.
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
66
67
68
#include <stdio.h>
 
#define swap(t, a, b) \
    { t temp = (a); (a) = (b); (b) = temp; }
 
void reverse(int *arr, int i, int j)
{
    if (i < j) {
        swap(int, arr[i], arr[j]);
        reverse(arr, i + 1, j - 1);
    }
}
 
#define index(i, j, ord) \
    ((i) * (ord) + (j))
 
int *transpose(int *m, int ord)
{
    int i, j;
 
    for (i = 0; i < ord; i++)
        for (j = i; j < ord; j++)
            swap(int, m[ index(i, j, ord) ],
                m[ index(j, i, ord) ]);
    return m;
}
 
int *turn90deg(int *m, int ord)
{
    int i, n;
 
    transpose(m, ord);
 
    for (n = 0, i = 0; i < ord; i++, n += ord)
        reverse(m + n, 0, ord - 1);
    return m;
}
 
void dump(int *m, int ord)
{
    int i;
 
    for (i = 0; i < ord * ord; i++)
        printf("%d%c", m[i], 
            (i+1) % ord ? ' ' : '\n');
}
 
int main()
{
    int m1[3][3] = {
        {1, 2, 3},  
        {4, 5, 6},   
        {7, 8, 9}
    };
    int m2[2][2] = {
        {1, 2},
        {3, 4}
    };
 
    turn90deg(*m1, 3);
    dump(*m1, 3);
 
    putchar('\n');
 
    turn90deg(*m2, 2);
    dump(*m2, 2);
    return 0;
}
Добавлено через 3 минуты
Цитата Сообщение от flexalumna2008 Посмотреть сообщение
на 180 я поняла как поворачивать, а на 90 вроде и нашла какие-то варианты в интернете, но не могу понять КАК ИМЕНО, то есть каков принцип этого поворота. Обьясните мне "на пальцах" как очень тупому человеку, пожалуйста.
1) транспонировать матрицу
2) переставить элементы строк в обратном порядке
alkagolik
Заблокирован
11.12.2011, 02:05     матрицы: повернуть на 90 градусов;макс.значение элементов... #3
Цитата Сообщение от flexalumna2008 Посмотреть сообщение
Опять матрица, есть диагональ (слева на право, с верху вниз)
которой имеется конкретное определение. Судя по всему вы его не знаете.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2011, 10:14     матрицы: повернуть на 90 градусов;макс.значение элементов...
Еще ссылки по теме:

Повернуть треугольник на 90 градусов несколько раз - C++
// triangle.cpp : Defines the entry point for the console application. // #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include...

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

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

Дан массив N × M. Требуется повернуть его по часовой стрелке на 90 градусов - C++
Дан массив N × M. Требуется повернуть его по часовой стрелке на 90 градусов. Входные данные На первой строке даны натуральные числа...

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

Матрица m x n. Найти макс значение среди средних значений для каждой строки матрицы. Вернуть номер строки - C++
Здравствуйте. Код есть, но ведет себя не стабильно. Выводит не то, что нужно. Прошу помочь. matrix.cpp #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
flexalumna2008
1 / 1 / 0
Регистрация: 07.09.2011
Сообщений: 35
11.12.2011, 10:14  [ТС]     матрицы: повернуть на 90 градусов;макс.значение элементов... #4
alkagolik, ну забросайте меня помидорами если это существенно.
Net_Wanderer, спасибо большое!
Yandex
Объявления
11.12.2011, 10:14     матрицы: повернуть на 90 градусов;макс.значение элементов...
Ответ Создать тему
Опции темы

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