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

Вывод матрицы по спирали изнутри - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread576486.html
Помогите,пожалуйста, решить эту задачу. В программе вводим натуральное число n, программа создает квадратную матрицу nxn. Например,если n=3, то программа должна вывести 1 2 3 8 9 4 7 6 5 если n=4,то 1 2 3 4 12 13 14 5
C++ Обращение к закрытому полю Имееться некий Основной класс с закрытыми полями class C { private: string Name; int Nomer; }; И имееться второй класс который имеет сывои поля и наследует поля класса С class N : private C{ int seria; }; http://www.cyberforum.ru/cpp-beginners/thread576483.html
Двумерный массив в ассемблерной вставке C++
Помогите, пожалуйста, выделить память в ассемблерной вставке под квадратную матрицу!
Перегрузка оператора индексации C++
Можно ли зоздать в своем классе перегрузку оператора , но с двойными скобками вроде? int &operator(int m,int n) { /*.....*/}
C++ Решебник М.Э.Абрамян http://www.cyberforum.ru/cpp-beginners/thread576451.html
Доброго времени суток! Пишу решебник к задачнику М.Э.Абромян и столкнулся со следующими проблемами: Беда #1: Как осуществить поиск решения по его фрагменту? Решения в виде массивов строк. т.е. есть набор решений array_cpp = "тут решение задания Array1"; array_cpp = "тут решение задания Array2"; **** и т.д. **** case_cpp = "тут решение задания Case1"; case_cpp = "тут решение задания...
C++ Функция выбора режима Здравствуйте! Нужна простейшая функция, для выбора режима последующей работы программы. Тонкость в том, что она должна игнорировать какие-либо иные символы. Вот моя функция: char getting_mode(void) {char md; while ((md!='f')&&(md!='i')) {cout<<"Choose the sourse of values\n"; cout<<"From file(f) or input from keyboard(i)\n"; cin>>md; подробнее

Показать сообщение отдельно
Zo_0m
24 / 24 / 12
Регистрация: 22.10.2011
Сообщений: 160
16.05.2012, 19:49     Вывод матрицы по спирали изнутри
Помогите пожалуйста, кто может написать функцию вывода матрицы a[n][n] по спирали изнутри?
a0 a1 a2 a3 a4
a5 a6 a7 a8 a9
a10 a11 a12 a13 a14
a15 a16 a17 a18 a19
a20 a21 a22 a23 a24

Вывести: a12 a11 a16 a17 a18 a13 a8 a7 a6 a5 a10 a15 a20 и т.д до a0

Добавлено через 3 часа 29 минут
как думаете, препод такое не оценит:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
const int row=5;
const int col=5;
int i,j;
int mas[row][col]={{25,24,23,22,21},{10,9,8,7,20},{11,2,1,6,19},{12,3,4,5,18},{13,14,15,16,17}};
for (i=row/2;i<row-1;i++)
    for (i==row/2?j=col/2:j=1;i==row/2?j>0:j<col-1;i==row/2?j--:j++)
        cout<<mas[i][j]<<endl;
for (i=row/2;i>0;i--)
    for (j=col/2+1;i==row/2-1?j>=0:j>col/2;j--)
        cout<<mas[i][j]<<endl;
for (i=2;i<row;i++)
    for (j=0;i==row-1?j<col:j<col/2-1;j++)
        cout<<mas[i][j]<<endl;
for (i=row-2;i>=0;i--)
    for (j=col-1;i==0?j>=0:j>col-2;j--)
        cout<<mas[i][j]<<endl;
getch();
}
Добавлено через 46 минут
есть вывод по спирали снаружи.. можно его както переделать?
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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#define N 5
using namespace std;
 
int main()
{       int spiral[N][N];
        int i,j,k, edge, num = N*N;
 
    for(k=0; k<N/2;k++) //слои
        {       edge = N-1-k;
                for(j=k;j<edge;j++,num--)             
                        cout<<spiral[k][j]<<endl;
                for(i=k;i<edge;i++, num--)             
                        cout<<spiral[i][edge]<<endl;
                for(j=edge;j>k;j--, num--)    
                        cout<<spiral[edge][j]<<endl;
                for(i=edge;i>k;i--, num--)             
                        cout<<spiral[i][k]<<endl;
        }
        _getch();
       
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru