-30 / 0 / 0
Регистрация: 11.11.2015
Сообщений: 21
1

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

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

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

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

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

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

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

1
88 / 88 / 80
Регистрация: 25.08.2013
Сообщений: 337
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2016, 00:38
Помогаю со студенческими работами здесь

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

Заполнение матрицы по спирали, начиная с центральной клетки, против часовой стрелки
Никак не могу разобраться с чего начать. Помогите, пожалуйста. Дано число n. Создайте массив A и...

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

Массив: Заполнить квадратную матрицу порядка n, записывая элементы в нее по спирали против часовой стрелки
Составить программу которая заполняет квадратную матрицу порядка n натуральными числами...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru