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

В чем может быть ошибка? (передача аргументов функции) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция должна вернуть 4 параметра http://www.cyberforum.ru/cpp-beginners/thread721860.html
Здравствуйте. Что то я совсем подзабыл основы. Есть функция в которую я передаю 4 параметра в виде одного масива int a, а возвращает одно значение, теперь мне надо производить обратные действия т.е. отдаю один параметр и нужно получить четыре. Как это можно осуществить?
C++ Функция в качестве аргумента Мне нужно написать программу, которая будет включать в себя список, который можно добавлять, проверять его заполнение, а также обрабатывать его элементы (что-то похожее на стек). Так вот, у меня возникла проблема. Мне по заданию необходимо, чтобы функция-элемент вызывала простую функцию для обработки каждого элемента списка (я его представил в виде массива). И лажа в том, что когда я пытаюсь... http://www.cyberforum.ru/cpp-beginners/thread721857.html
свой цвет у каждой переменной C++
Вопрос такой, можно ли как-то сделать, чтобы у одних переменных(любых) при Debug отображались допустим красным, а другие переменные(тоже любые) отображались зеленым. Если реально, то сделать только с помощью программных средств, без установки плагинов
Строки (В произвольном тексте найти самое короткое слово) C++
Задание: В произвольном тексте найти самое короткое слово. Цель работы: изучение правил описания, ввода-вывода и основных функций обработки символьных данных.
C++ Сортировка вставками объясните алгоритм на примере http://www.cyberforum.ru/cpp-beginners/thread721834.html
Ни как не могу разобрать как работает алгоритм(я понимаю суть, но как это работает именно в программе понять не могу). Объясните пожалуйста поэтапно как будет работать программа (не алгоритм) именно в подчёркнутых строчках для примера "dcab". Сам код для наглядности: void insertSort(int* a, int size) { int i, j, tmp; for (i = 1; i < size; ++i) // цикл проходов, i - номер...
C++ Run-Time Check Failure #0 Как исправить ошибку : Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention. Вот код: // ConsoleApplication6.cpp: главный файл проекта. #include "stdafx.h" #include <conio.h> #include "iostream"... подробнее

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

В чем может быть ошибка? (передача аргументов функции) - C++

06.12.2012, 19:27. Просмотров 306. Ответов 2
Метки (Все метки)

Есть двумерный массив, симулирующий игровое поле (0 означают пустоту, 8 игрок)
Есть некая функция, которую я хочу использовать просто для передвижения персонажем по игровому полю:
C++
1
2
3
4
5
6
7
8
void player_move(int posxm, int posym){
for(int i=0;i<rows;i++)
    for(int j=0;j<cols;j++)
        if (array[i][j]==8) {
            array[i][j]=0;
            array[i+posym][j+posxm]=8;
        }
}
Передаю функции 2 числа, на сколько я хочу передвинуть по Х и У соответственно. Если программа находит на поле игрока (8), то на текущем месте оставляет пустое место (0), а на месте куда я должен попасть - игрока.

Проблема в том, что корректно программа работает лишь в случае передачи функции отрицательных значений.
Движение вверх на клеточку работает замечательно например:
C++
1
player_move(0,-1);
Но если я передаю положительное число, весь массив портится по непонятному мне алгоритму, игрок обычно стирается безвозвратно, а большинство прочих объектов меняется на 0 - пустоту.
Движение вправо на клеточку превращает массив в хз что =о
C++
1
player_move(1,0);
С чем это может быть связано, и как лечить :?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru