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

Развернуть матрицу, как спираль, в линейный массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка кода Visual c++ 6.0 'SearchFiles': local function definitions are illegal http://www.cyberforum.ru/cpp-beginners/thread1226817.html
Я сам вобще не знаток с++ я только учусь но вот мне выдаёт ошибку код в visual c++ 6.0 Вот ошибка такая C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\search\by Frank.cpp(11) : error C2601: 'SearchFiles' : local function definitions are illegal Error executing cl.exe. А вот код
C++ Невозможность приведения к стандартному типу Не могу привести к стандартному типу объект класса. Вот код: class Casting { private: double X; public: Casting() : X(1.3) {} http://www.cyberforum.ru/cpp-beginners/thread1226808.html
Почему программа уходит в рекурсию при передачи в нее буквы C++
Здравствуйте, простите за два идиотских вопроса, но почему С++ ведет себя именно так? Почему программа уходит в рекурсию при вводе буквы? #include <iostream> using namespace std; int main() { int a;
Сравнить два массива одинаковой длины C++
Сравниваю два массива длиной три. Сравнивать нужно с конца. #include <iostream> using namespace std; int main (){ int array; cin>>array>>array>>array; int array_2; cin>>array_2>>array_2>>array_2;
C++ Как скомпилировать код из под Windows на mac и linux? http://www.cyberforum.ru/cpp-beginners/thread1226727.html
Как скомпилировать код из под windows на mac и linux?
C++ Меню для программы Числа Фибоначчи, ряд Тейлора //--------------------------------------------------------------------------- #pragma hdrstop #include<stdlib.h> #include<stdio.h> #include<conio.h> //--------------------------------------------------------------------------- #pragma argsused int fib(int i) подробнее

Показать сообщение отдельно
xod
156 / 46 / 17
Регистрация: 01.07.2014
Сообщений: 185
13.07.2014, 19:37     Развернуть матрицу, как спираль, в линейный массив
Дана квадратная матрица, она заполняется рандомно и
выносится на экран. Требуется преобразовать эту матрицу
в линейный массив, начиная с элемента mas[1][1] и двигаясь
по часовой стрелке сделать первый круг и далее, как по спирали,
второй круг, пока не закончатся все элементы. Полученный
массив надо распечатать, чтобы можно было посмотреть на
результат. В связи с разработкой этой программы у меня возникло
несколько вопросов. 1. Я не знал как отладить программу и не
придумал ничего лучшего как применить system("pause"), чтобы
можно было остановить программу и посмотреть, что она выдаёт.
Есть ли в самой С++ средства отладки, ну хотя бы оператор Stop,
или что-то иное?? 2. Вопрос 2. Я впервые написал на языке С++
функцию. Чтобы не ломать голову с видимостью переменных
я по сути сделал их глобальными. А как такую функцию надо
правильно писать?? У меня это первая функция и она работает.
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
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <time.h>
using namespace std;
 
int mas[10][10];
int b[100];
int i, j, l, m, n, n1;
int k = 0;
 
void spi(int m)
{
   for (j = m; j < n1 - m; j++){
        b[k] = mas[m][j];
        k ++;}
    for(i = m; i < n1 - m; i++){
        b[k] = mas[i][n1 - m];
        k ++;}
    for (j = n1 - m; j > m ; j--){
        b[k] = mas[n1 - m][j];
        k ++;}
    for (i = n1 - m; i > m ; i--){
        b[k] = mas[i][m];
        k ++;}
}
int main()
{
    srand(time(NULL));
    cout << "N = ? ";
    cin >> n;
    n1 = n - 1;
 
    for (i = 0; i < n; i++)
        for (j = 0; j < n; j++)
            mas[i][j] = rand()% 20;
 
    for (i = 0; i < n; i++){
        for (j = 0; j < n; j++)
            cout << setw(4) << mas [i][j] ;
            cout << "\n";}
 
    for(m = 0; m < n / 2; m++ )
         spi(m);
    if(n%2 == 1) b[n * n - 1] = mas[(n1)/2][(n1)/2];
    cout << "\n";
 
    for (i = 0; i <  n * n; i++){
            cout.width(3) ;
            cout << b[i];}
    cout << endl;
    system("Pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru