Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
magatj
-30 / 0 / 0
Регистрация: 11.11.2015
Сообщений: 21
1

Перемещаясь против часовой стрелки, вывести все элементы матрицы по спирали

06.01.2016, 12:54. Просмотров 1086. Ответов 1
Метки нет (Все метки)

Matrix16. Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и перемещаясь против часовой стрелки, вывести все ее элементы по спирали: первый столбец, последняя строка, последний столбец в обратном порядке, первая строка в обратном порядке, оставшиеся элементы второго столбца и т. д.; последним выводится центральный элемент матрицы.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2016, 12:54
Ответы с готовыми решениями:

Начиная с первого элемента и перемещаясь против часовой стрелки, вывести все элементы матрицы по спирали
Дана квадратная матрица A порядка M (M — нечетное число). Начиная с первого элемента и перемещаясь...

Матрица по спирали против часовой стрелки
Здравствуйте. Имеется программа заполнения матрицы по спирали начиная с верхнего левого угла по...

Циклический сдвиг элементов матрицы против часовой стрелки
Задана квадратная матрица символов. Осуществить циклический сдвиг элементов следующим образом:...

Дан прямоугольный массив. Переместить элементы массива, стоящие по периметру на 2 элемента против часовой стрелки
Вот такое задание стоит, нужна помощь. Заранее спасибо!

Функция поворота двумерного массива на 180 градусов, против часовой стрелки
Пожалуйста напишите функцию поворота двумерного массива на 180 градусов, против часовой стрелки. ...

1
yrceus
83 / 83 / 80
Регистрация: 25.08.2013
Сообщений: 336
07.01.2016, 00:38 2
Лучший ответ Сообщение было отмечено magatj как решение

Решение

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define A 11
 
int main()
{
    srand(time(NULL));
    int arr[A][A], fl = 0, x = 0, z = 0, l = A - 1, n;
    for (int a = 0; a < A; ++a) {
        printf("\n");
        for (int b = 0; b < A; ++b)
            printf("[%2d]", arr[a][b] = rand() % 100);
    }
    printf("\n");
    for (;; fl = ~fl, n = x, x = l, fl ? z -= 1 : z += 1, fl ? l = n - 1 : l = n) {
        printf("\n");
        for (int i = z, j = x; fl ? i >= l : i <= l; fl ? --i : ++i)
            printf("[%2d]", arr[i][j]);
        if (x == A / 2) break;
        z = l;
        fl ? x -= 1 : x += 1;
        if (fl) l += 1;     
        printf("\n");
        for (int i = z, j = x; fl ? j >= l : j <= l; fl ? --j : ++j)
            printf("[%2d]", arr[i][j]);         
    }
    printf("\n");
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2016, 00:38

Из матрицы A сформировать матрицу B (по спирали), отсортировав по убыванию все элементы матрицы A
Я походу тупенький и уже овер дофига времени не могу сделать эту задачу: Из матрицы A сформировать...

Заполнение матрицы от центра по спирали (по часовой стрелке)
написать программу, которая заполняет массив от цента по спирали(по часовой стрелке). пример: ...

Начиная с элемента A[1,1] и перемещаясь по часовой стрелке, вывести все элементы матрицы по спирали
#include &lt;iostream&gt; using namespace std ; #define m 5 int main () { int a ; int i , j , k ;...


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

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

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