Форум программистов, компьютерный форум, киберфорум
Наши страницы

При заполнении двумерного массива выдает ошибку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разделить выпуклый многоугольник на 4 равные части двумя взаимно перпендикулярными прямыми http://www.cyberforum.ru/cpp-beginners/thread1242320.html
Почти то же, что и тут: http://www.cyberforum.ru/java/thread1022760.html, но хочется решить на C++. А именно: Есть некоторый выпуклый многоугольник, который необходимо разделить на 4 равные части...
C++ Ошибка компиляции: нет перегруженной бинарной операции +. Подскажите в чем ошибка. Компилятор говорит что нет перегруженной бинарной операции + для такого типа (41 строка) #include <iostream> #include <cmath> using namespace std; class PolarSys{... http://www.cyberforum.ru/cpp-beginners/thread1242310.html
Функция strtok() не воспринимает пробел как разделитель C++
Функция успешно разделяют строку на лексемы из массива символов stri, но при вводе строки с клавиатуры, "пробел" между словами не воспринимает как разделить в отличие от ",.-". Как сделать чтобы...
Можно ли объявлять объекты в заголовочном файле? C++
Решил написать змейку с использование OpenGL. Сначала написал все в одном файле, все работало, решил сделать по красивее и распихать по хедерам. Сразу вопрос: Можно ли объявлять объекты в...
C++ Несколько логически ИЛИ в условии if http://www.cyberforum.ru/cpp-beginners/thread1242279.html
Здравствуйте! Вот такой, вроде бы несложный вопрос: Есть функция, в которую передается массив символов, далее она проверяет устраивает ли первый символ заданному критерию, если нет то возвращает...
C++ Реверс двусвязного списка Столкнулся с задачей написать функцию реверса двусвязного списка. Часа 3 сушил себе мозг с копиями указателей, получилось что надо хранить копию данных и копию адреса 1 узла да еще и копировать все в... подробнее

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

При заполнении двумерного массива выдает ошибку - C++

14.08.2014, 09:48. Просмотров 304. Ответов 6
Метки (Все метки)

Недавно начал изучать С++ и застрял на двумерном массиве.
решил сделать двумерный массив в виде лабиринта, но компилятор выдает ошибку на заполнении массива.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
bool labyrinthPic(short*);
 
int main()
{
    const unsigned short size =28;
    short labyrinth[size][size]; 
    srand(time(0));
    labyrinthPic(labyrinth[28]);
}
 
bool labyrinthPic(short (*labyr)[28])
{
    const unsigned short sz=28;
    labyr[sz][sz]=                {{1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
                                   {1,1,1,1,2,1,1,1,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,1,2,2,2,1},
                                   {1,1,2,2,2,1,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,2,1,2,1},
                                   {1,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,1},
                                   {1,2,1,1,0,1,1,2,2,2,2,2,2,2,2,1,0,1,1,1,1,1,1,1,1,1,2,1},
                                   {1,2,1,0,0,1,0,2,1,1,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,2,1},
                                   {1,2,1,0,1,1,1,2,1,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1,2,1},
                                   {1,2,1,0,1,0,1,2,1,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,2,1},
                                   {1,2,1,0,1,0,1,2,1,0,1,1,1,0,1,0,1,1,1,1,1,0,1,0,1,1,2,1},
                                   {1,2,1,0,1,0,1,2,2,2,2,0,0,0,1,0,1,0,1,0,0,0,1,0,1,1,2,1},
                                   {1,2,1,0,1,0,1,1,1,1,2,1,1,1,1,0,1,0,1,1,1,1,1,0,1,1,2,1},
                                   {1,2,2,2,1,0,0,0,1,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1,2,1},
                                   {1,0,1,2,1,1,1,0,1,1,2,1,1,0,1,1,1,0,0,1,1,0,1,1,1,1,2,1},
                                   {1,1,0,2,2,2,1,0,1,1,2,1,1,0,1,1,0,1,0,1,1,0,1,0,0,1,2,1},
                                   {1,0,1,1,1,2,1,2,2,2,2,1,0,0,1,0,0,0,0,0,1,0,1,0,1,1,2,1},
                                   {1,0,1,0,0,2,1,2,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,1,2,1},
                                   {1,0,1,1,1,2,1,2,1,0,1,0,0,0,1,0,0,0,1,0,1,0,1,1,0,1,2,1},
                                   {1,0,1,0,0,2,1,2,1,0,0,0,1,0,0,0,1,0,1,2,2,2,2,1,0,1,2,1},
                                   {1,0,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,0,1,2,1,1,2,1,0,1,2,1},
                                   {1,0,1,3,3,3,1,1,0,0,0,0,0,0,0,0,0,0,0,2,1,1,2,2,2,2,2,1},
                                   {1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1},
                                   {1,3,1,1,1,0,1,3,3,3,1,0,1,0,0,0,0,0,0,2,1,2,2,2,1,0,1,1},
                                   {1,3,0,0,0,0,1,3,1,3,1,0,1,1,1,1,1,1,1,2,1,2,1,2,1,0,1,1},
                                   {1,3,1,1,1,1,1,3,1,3,1,0,0,0,0,0,0,0,0,2,2,2,1,2,1,0,1,1},
                                   {1,3,3,3,3,3,3,3,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1},
                                   {1,1,1,1,1,1,1,1,1,3,3,3,3,1,3,3,3,1,3,3,3,1,1,2,2,2,1,1},
                                   {1,0,0,0,0,0,0,0,0,0,1,1,3,3,3,1,3,3,3,1,3,3,3,3,1,2,1,1},
                                   {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1}};
/* 0 - ложный путь , 1 - стенка , 2 - верный путь, 3 - секретный путь , 4 - начало, 5 - конец
 * 6 - это персонаж*/
    for(short x=0;x<28;x++)
    {
        for(short y=0;y<28;y++)
        {
            if( labyr[x][y] == 1)
            {
                cout<< static_cast<char>(124);
                cout<< static_cast<char>(124);
            }
            /*else if (labyr[x][y]==2)
            {
                cout<< static_cast<char>(58);
                cout<< static_cast<char>(58);
            }*/
            else if (labyr[x][y]==4)
            {
                cout<< static_cast<char>(94);
                cout<< static_cast<char>(94);
            }
            else if (labyr[x][y]==5)
            {
                cout<< static_cast<char>(42);
                cout<< static_cast<char>(42);
            }
            else if (labyr[x][y]==6)
            {
                short varrand; 
                varrand = rand()%50-rand()%50;
                if(varrand>=0)
                    cout<< static_cast<char>(81)<<" ";
                else
                    cout<< " "<<static_cast<char>(81);
            }
            else 
            {
                cout<< "  ";
            }
        }
        cout << endl;
    }
    cout<<"\t\t\t"<< static_cast<char>(81) << " - это вы.";
    cin.get();
    return 0;
}
в ответ на это выделет заполнение массива(строки 20 и 47) и пишет:
Кликните здесь для просмотра всего текста
g++ -Wall -o "Лабиринт" "Лабиринт.cpp" (в каталоге: /home/aleksandr/Рабочий стол)
Лабиринт.cpp: In function ‘bool labyrinthPic(short int (*)[28])’:
Лабиринт.cpp:47:69: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1}};
^
Лабиринт.cpp:20:15: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘short int’ in assignment
labyr[sz][sz]= {{1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
^
Сборка завершилась с ошибкой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru