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

Присвоение массива к функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что не правильно в коде, что посоветуете дописать http://www.cyberforum.ru/cpp-beginners/thread866469.html
Дано задание (Ввести натуральное число N и последовательность действительных чисел Y1, , …,Yn . Рассчитать сумму Z1...Zn. Где Zi (если 0<Yi<10 , 1 в противном случае). Пытался с пустого места, что-нибудь да написать и получилось это. Посоветуйте, что и как сделать ? #include <iostream> #include <string> using namespace std; int main() {int n; int i;
C++ Программа, которая помещает в массив строк текст, введенный пользователем Создайте программу, которая помещает в массив строк текст, введенный пользователем. При вводе пустой строки или вводе десятой строки пользователем все, что до этого пользователь ввел, должно выводиться в стандартный поток. #include <iostream> int main() { int count=0; char arr={}; http://www.cyberforum.ru/cpp-beginners/thread866467.html
)Определить правильность даты, введённой с клавиатуры C++
Помогите пожалуйста решить пару задач :3 1) а)Определить правильность даты, введённой с клавиатуры (число - от 1 до 31, месяц - от 1 до 12). Если введены некорректные данные, то сообщить об этом. вот, заранее спасибо :3 LoGaNShtorM, обращаю ваше внимание на необходимость соблюдения правил форума: один вопрос - одна тема, остальные задания вынесены в отдельные темы:...
Подсчитать количество участков, образующих непрерывные последовательности чисел со значениями C++
Подсчитать количество участков, образующих непрерывные последовательности чисел со значениями, не уменьшаются Размерность массива 200 Диапазон значений 0 - 100
C++ Рисунок С++: бегущий человек http://www.cyberforum.ru/cpp-beginners/thread866447.html
нужен рисунок бегущего человека в цвете просто линий никакого обьема пример рисунка прикреплен только повторюсь нужно в цвете и ровно !!! умоляю помогите а то из универа отчислят ((( могу даже заплатить !! ну прошу пока так = за огромное признание хорошего человека знаещего толк в программирований если не ошибаюсь то там должны быть строчки graphics.h и lines помоему ну 1 точно !
C++ Объясните, как работает программа Поясните пожалуйста чайнику! Объясните плиз как работает программа, то есть что значит "**" и остальные строки плиз очень прошу!!!! #include <stdio.h> #include <time.h> #include <stdlib.h> #include <conio.h> int main() { srand((unsigned)time(NULL));//принимает аргумент и задает функции rand() начальное число для генерации. В качестве аргумента удобнее всего передавать ей текущее... подробнее

Показать сообщение отдельно
divergere
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 7
15.05.2013, 22:15     Присвоение массива к функции
Доброго времени суток. Занялся написанием консольной рпг-квеста и столкнулся с рядом проблём, о чём - ниже.
Суть - есть код:
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
#include <iostream>
 
using namespace std;
 
enum
{
    coordX,
    coordY,
    pfBuildLocation,
    ENUM_SIZE
};
 
void loc1( int x, int y )
{
    cout << "Loc1 x: " << x << ", y: " << y << endl;
}
void loc2( int x, int y )
{
    cout << "Loc2 x: " << x << ", y: " << y << endl;
}
 
typedef void (*pf)(int x, int y);
 
int main()
{
    using namespace std;
    
    int arr[][ENUM_SIZE] = //массив основанный на константах enum'a
    {
        {1, 1, (int)loc1},
        {1, 2, (int)loc2}
    };
    
    int* begin = arr[0];
    int* end = arr[ sizeof(arr) / sizeof(arr[0]) ];
    
    for( int* i = begin; i < end; i += ENUM_SIZE )
    {
        ((pf)i[pfBuildLocation])(i[coordX], i[coordY]);
    }
    
    return 0;
}
Над чем долго парился, а именно - с созданием координат массива для функции. Далее - столкнулся с еще одной диллемой:
Каким образом собственно, сделать переход к функции, сравнивая две переменные с первым двумя константами enum'a? Пробовал так, но компилятор не разрешает:
C++
1
2
3
4
5
6
world location;//класс world
while(1)//бесконечный цикл
{
if( arr[coordX] == x && arr[coordY] == y )//сравнение изменяемых переменных координат, с содержимым массива
location.[pfBuildLocation];//переход к функции, которая подходит к проверенным выше числам. Аля - {1, 1,...(int)location0}, если X и Y равны единицам, то происходит переход на location0, такие дела.
}
Что именно я делаю не так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru