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

Запись в матрицу по спирали (ввод чисел с клавиатуры) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ При заполнении двумерного массива выдает ошибку http://www.cyberforum.ru/cpp-beginners/thread1242383.html
Недавно начал изучать С++ и застрял на двумерном массиве. решил сделать двумерный массив в виде лабиринта, но компилятор выдает ошибку на заполнении массива. #include <iostream> #include <ctime> #include <cstdlib> using namespace std; bool labyrinthPic(short*);
C++ Ошибка компиляции: нет перегруженной бинарной операции +. Подскажите в чем ошибка. Компилятор говорит что нет перегруженной бинарной операции + для такого типа (41 строка) #include <iostream> #include <cmath> using namespace std; class PolarSys{ private: float radius; float angle; http://www.cyberforum.ru/cpp-beginners/thread1242310.html
Функция strtok() не воспринимает пробел как разделитель C++
Функция успешно разделяют строку на лексемы из массива символов stri, но при вводе строки с клавиатуры, "пробел" между словами не воспринимает как разделить в отличие от ",.-". Как сделать чтобы при вводе с клавиатуры функция делила строку на лексемы? //пример использования функции strtok #include <iostream> #include <cstring> int main () { int gl=0, sg=0,i,j; char gls="аеиоуюэя";
Можно ли объявлять объекты в заголовочном файле? C++
Решил написать змейку с использование OpenGL. Сначала написал все в одном файле, все работало, решил сделать по красивее и распихать по хедерам. Сразу вопрос: Можно ли объявлять объекты в заголовочном файле? Из-за этого похоже у меня и ошибки: 1>Food.obj : error LNK2005: "class Block * blocks" (?blocks@@3PAVBlock@@A) already defined in Block.obj 1>Food.obj : error LNK2005: "class Food food"...
C++ Несколько логически ИЛИ в условии if http://www.cyberforum.ru/cpp-beginners/thread1242279.html
Здравствуйте! Вот такой, вроде бы несложный вопрос: Есть функция, в которую передается массив символов, далее она проверяет устраивает ли первый символ заданному критерию, если нет то возвращает нолик, если да единичку. Критерий таков: первый символ должен быть одним из этих -- A, B, C, E, H, K, M, O, P, T, X, Y. Передаю такой массив: A000AA Буква которые записаны в условии и массиве все в...
C++ Реверс двусвязного списка Столкнулся с задачей написать функцию реверса двусвязного списка. Часа 3 сушил себе мозг с копиями указателей, получилось что надо хранить копию данных и копию адреса 1 узла да еще и копировать все в ручную поэлементно. Выглядит очень громоздко... Так вот сам вопрос то, зачем вообще может понадобиться такая функция если список можно обойти в обоих направлениях ( задача из книги "Язык... подробнее

Показать сообщение отдельно
Exeron
0 / 0 / 0
Регистрация: 14.08.2014
Сообщений: 11

Запись в матрицу по спирали (ввод чисел с клавиатуры) - C++

14.08.2014, 10:30. Просмотров 377. Ответов 3
Метки (Все метки)

Нужно ввести n чисел с клавиатуры они записываются в матрицу по спирали из центра (не важно против часовой или по часовой) и если кол-во введенных чисел не 121 все оставшиеся свободными ячейки заполняются нулями.
0000000
0054300
0061200
0078900
0000000
ну как то так
А это запоротый код, который я написал 2 месяца назад и теперь не могу (а точнее ЛЕНЬ) разбирать. И там нет условия с заполнением нулями, я его так и не придумал как сделать.
Код

C++ (Qt)
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<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
using namespace std;
#define N 4
int main()
{       //int spiral[N][N];
        int mas[n][m],i,j;
        //int i,j,k, edge, num = N*N;
        cout<<"Enter numbers"<<endl;
            for(i=0;i<n;i++)
            {
                for(j=0;j<m;j++)
                    {
                    cin>>mas[i][j];
                    }
            }
            cout<<"isxodniy massiv";
 
            for(i=0;i<n;i++)
            {
                for(j=0;j<m;j++)
                {
                    cout<<mas[i][j];
                }
            }
 
        /*for(k=0; k<N/2;k++) //слои
        {       edge = N-1-k;
                for(j=k;j<edge;j++,num--)
                        spiral[k][j]=num;
                for(i=k;i<edge;i++, num--)
                        spiral[i][edge]=num;
                for(j=edge;j>k;j--, num--)
                        spiral[edge][j]=num;
                for(i=edge;i>k;i--, num--)
                        spiral[i][k]=num;
        }*/
 
        if(N%2) //если N-нечетное дополнить центральным элементом
              spiral[N/2][N/2]=num;
 
 
        for(i=0;i<N;i++)
        {
            for(j=0;j<N;j++)
                cout<<spiral[i][j]<<" ";
            cout<<endl;
        }
 
        getch();
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru