Форум программистов, компьютерный форум 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, 23:29  [ТС]     Присвоение массива к функции
Цитата Сообщение от vadtsyb Посмотреть сообщение
Сразу извиняюсь за лень, на практике не проверял. Но как минимум, отдельные условия нужно брать в скобки. Т.е.
C++
1
if ((arr[coordX] == x) && (arr[coordY] == y))
Дальше компилятор ругаться не должен.
Ругань идет на "==", ругаясь именно на несовместимость операндов с int*.
Столкнулся и еще одной проблемой. В рамках класса, функции не присваиваются к строкам массива.
Как можно по типу
C++
1
  location.[pfBuildLocation]
вызывать функцию, без класса?

На счёт "==", пробовал два варианта, в обоих случаях ошибки, во вложениях.


Весь код целиком.
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
#include "StdAfx.h"
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
int Entered;
int x, y;
enum
{
    coordX,
    coordY,
    pfBuildLocation,
    ENUM_SIZE
};
 
 
 
    void location0(int x, int y)// стартовая локация
    {
        int Entered;// Вводимые данные
        cout << "Text "
             << "text.\n\n"
             << "Ваши действия:\n1.View.\n\nВвод:\n ";
        cin >> Entered;
    }
 
    void location0view()//осмотр стартовой локации
    {
        int Entered;// Вводимые данные
        cout << "sever"
             << " zapad"
             << " ug.\n"
             << "Ваши действия:\n1.zapad\n2.sever\n3.vostok\n4.ug\n"
             << "\nВвод:\n ";
        cin >> Entered;
 
 }
    void location1sever()// Север
    {
        int Entered;// Вводимые данные
        cout << "boat"
             << " key\n"
             << "Ваши действия:\n1.Осмотреться.\n2.Items \n3.Return.\n\nВвод:\n ";
        cin >> Entered;
    }
 
void location1severview()// осмотр севера
{
}
void location1severitems()// поиск предметов
{
    cout << "location1severitems"
        << " Ваши действия:\n1.Осмотрется. \n\nВвод:\n ";
}
 
typedef void (*pf)(int x, int y);
int main()
{
    int Entered; // Вводимые данные
    setlocale(LC_ALL,"Russian");
 
using namespace std;
    
    int arr[][ENUM_SIZE] = //массив основанный на константах enum'a
    {
        {1, 1, (int)location0},
        {1, 2, (int)location0view}
    };
    
    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]);
    }
 
    x = 1;
    y = 1;
    while(1)//бесконечный цикл
     {
     
    if ((arr[coordX] == x) && (arr[coordY] == y))
//сравнение изменяемых переменных координат, с содержимым массива
      location.[pfBuildLocation];//переход к функции, которая подходит к проверенным выше числам. Аля - {1, 1,...(int)location0}, если X и Y равны единицам, то происходит переход на location0, такие дела.
}
    return 0;
}
Миниатюры
Присвоение массива к функции   Присвоение массива к функции  
 
Текущее время: 08:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru