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

Вылетает программа при заполнении массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вращение координаты вокруг точки http://www.cyberforum.ru/cpp-beginners/thread1508107.html
на входе x, y координаты точки которую нужно вращать и x, y координаты точки во круг которой происходит вращение, также есть угол в градусах ( диапазон от -180* до 180* ) есть форма 300 на 300 ...
C++ Синхронизация потоков Есть статический класс к которому я хочу обращаться из разных потоков static class MyLog { public: static int log(std::string, int type); }; Внутри написал так http://www.cyberforum.ru/cpp-beginners/thread1508057.html
C++ Отправить POST запрос
Помогите уже, реально задолбался, 2 дня уже ищу рабочий код который бы отправлял пост запрос но никак не могу найти. Везде какие-то либы или паки исходников которые нужно проинсталлить, но даже после...
CMenu::InsertMenu - обработка сообщения C++
Привет всем, Подскажите, пожалуйста, как обработать сообщение CMenu::InsertMenu посылаемое из внешнего приложения? Resource.h #define ID_EXPCATXML 100 Plugin.h
C++ Как обратится к обьекту класса, являющегося наследником абстрактного класса http://www.cyberforum.ru/cpp-beginners/thread1508041.html
Здравствуйте! У меня есть 4 класса: один виртуальный, следующие 2 - наследуют виртуальный класс и последний класс содержит указатель на виртуальный класс (динамический массив, который растет от...
C++ Линейный поиск в массиве структуры Нужно с помощью линейного поиска искать в готовом массиве структуры значение вводимое с клавиатуры. Напишите шаблон , по которому это можно реализовать. Спасибо. подробнее

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

Вылетает программа при заполнении массива - C++

01.08.2015, 11:56. Просмотров 283. Ответов 9
Метки (Все метки)

Добрый день.
Решил написать простой код отрисовки карты в консоли.
Идея:
1.Создаю объект структуры, содержащий перечень координат в массивах coorx и coory и графическое обозначение
2.Передаю значения координат в ключи массива map и присваиваю ячейке соответственное граф.обозначение
Проблема:
Для теста решил заполнить массивы coorx и coory на всю ширину и высоту карты.
Но, в результате манипуляций с for, массив map отказывается принимать какие либо значения, и программа аварийно заканчивает работу.
После каждого for выводил текстовые маяки "начало заполнения" и "Успешно". Зависает именно на присвоении.
Так же выводил значения coorx и coory, до,внутри и после for. Все значения отображаются.
Как решить проблему,где я не прав?

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
#include <iostream>
using namespace std;
struct land{ // структура ланд, в объектах которой должны содержатся граф - ок обозначение и массивы координат
       char des;
       int coorx[];
       int coory[];
       };
int main(int argc, char** argv) {
    setlocale(LC_CTYPE, "rus");
    int x = 10; //координата x аkа ширина поля
    int y = 5;  //координата y aka высота поля
    char map[y][x]; //создаю массив символов aka карта
    land earth; // обект "земля"
    earth.des = '.'; //графическое обозначение "земли"
    /*Заполняю массив координат y, где ключ равен значению */
    for(int i = 0;i<y;i++){ 
        earth.coory[i] = i;
    };
    /*Заполняю массив координат x, где ключ равен значению */
    for(int j = 0;j<x;j++){
        earth.coorx[j] = j;
    };
    /*В идеале map[earth.coory[1]][earth.coorx[1]] = earth.des; 
    Но, после манипуляций с координатами, массив отказывается принимать какие либо значения.
    Программа аварийно вылетает, без отчета об ошибках
    */
    map[1][2] = 'E';
    cout<<map[1][2];    
    return 0;
}
Добавлено через 17 минут
Проблема решена, объявил переменные x и у константами, и все заработала. Возник вопрос - почему?

Добавлено через 10 минут
А вот так, вылетает:
C++
1
2
3
4
5
for(int i = 0;i<y;i++){
       for(int j = 0;j<x;j++)
       map[earth.coory[i]][earth.coorx[j]] = earth.des;
         
         }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru