Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/32: Рейтинг темы: голосов - 32, средняя оценка - 4.75
 Аватар для AkA_ZadR
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 8

Требуется совершить обход квадратной матрицы по спирали

09.09.2011, 20:08. Показов 6749. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите с этой задачкой ))




Спираль
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Требуется совершить обход квадратной матрицы по спирали так, как показано на рисунке справа: заполнение происходит с единицы из левого верхнего угла и заканчивается в центре числом N2, где N – порядок матрицы.

Входные данные
Во входном файле INPUT.TXT задано натуральное число N – размер квадратной матрицы (N<=100).

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

Пример
№ INPUT.TXT OUTPUT.TXT
5 1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.09.2011, 20:08
Ответы с готовыми решениями:

Обход квадратной матрицы по спирали
Требуется совершить обход квадратной матрицы по спирали в dataGridView так как показано на рисунке: заполнение происходит с единицы из...

Обход матрицы по спирали
Дана квадратная матрица A порядка M (M — нечетное число). Начи- ная с элемента A1;1 и перемещаясь против часовой стрелки, вывести все ...

Обход матрицы по спирали
program Project1; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; var i,j,y,n,x,p:integer;

4
09.09.2011, 21:36

Не по теме:

Хоть бы сделал вид, что думал над задачей. А то просто с E-олимпа условие передрал.

0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
09.09.2011, 23:17
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, i = 1, j = 1, ix, jx, a[102][102] = {}, x = 1;
 
    cin >> n >> ix >> jx;
 
    while (x <= n * n)
    {
        while (j <= n && a[i][j] == 0)
        {
            a[i][j] = x++;
            j++;
        }
        j--;
        i++;
 
        while (i <= n && a[i][j] == 0)
        {
            a[i][j] = x++;
            i++;
        }
        i--;
        j--;
 
        while (j > 0 && a[i][j] == 0)
        {
            a[i][j] = x++;
            j--;
        }
        j++;
        i--;
 
        while (a[i][j] == 0)
        {
            a[i][j] = x++;
            i--;
        }
        i++;
        j++;
    }
 
    // матрица заполенена
 
    return 0;
}
Predator_2004, задача с acmp
0
В вечном поиске...
 Аватар для Nursik77
275 / 235 / 30
Регистрация: 05.04.2011
Сообщений: 645
10.09.2011, 13:22
В Си:
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
#include <stdlib.h>
#include <stdio.h>
#define n 5
 
int main() {
int i=1,j,k,a[n][n],p=n/2;
//заполнение матрицы нулями
for(j=0; j<n; j++)
 for(k=0; k<n; k++)
  a[j][k]=0;
printf("\nMatrica razmerom (%d*%d)\n\n",n,n);
for(k=1; k<=p; k++)//kol-vo spiralei
{//verhn.goriz riyad
 for(j=(k-1); j<(n-k+1); j++)
  a[k-1][j]=i++;
//pravi verhn. stolbec
for(j=k; j<(n-k+1); j++)
 a[j][n-k]=i++;
//nizhni goriz riyad
for(j=(n-k-1); j>=k-1; j--)
 a[n-k][j]=i++;
//levi kraini stolbec
for(j=n-k-1; j>=k; j--)
 a[j][k-1]=i++;
}
 if (n%2)
  a[p][p]=n*n;
  
for(i=0; i<n; i++)
 for(j=0; j<n; j++)
  {printf("%5d",a[i][j]);
   if(j==(n-1))
  printf("\n\n");
 }
system("pause");
}
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.09.2011, 21:29
Сюда https://www.cyberforum.ru/cpp/thread60495.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.09.2011, 21:29
Помогаю со студенческими работами здесь

Обход матрицы по спирали
Вывести на экран элементы матрицы размером N*M элементов при ее обходе по спирали по и против часовой стрелки. Предусмотреть возможность...

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

Выполнить обход матрицы по спирали
Здійснити обхід матриці по спіралі за годинниковою стрілкою, починаючи від ЇЇ лівого верхнього кута. Вивести елементи матриці у порядку...

Clojure Обход матрицы по спирали
Снова здравствуйте! Пожалуйста, помогите реализовать на Common Lisp программу, которая создает матрицу порядка 7, элементы которой...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
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