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

Добавить аргументы в массив и считать - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычисление функций разложением в ряд Тейлора http://www.cyberforum.ru/cpp-beginners/thread828394.html
Добрый всем вечер. Помогите пожалуйста с задачкой, если не сложно. Вот условие: При некоторых заданных x, N и E, определяемых вводом, вычислить: a)сумму N слагаемых заданного вида; b)сумму тех слагаемых, которые по абсолютной величине больше Е. Для случая b выполнить суммирование для двух значений Е, отличающихся на порядок, и при этом определить количество слагаемых, включенных в сумму....
C++ Вставить заданное число в массив целых чисел после первого отрицательного элемента Вставить заданное число в массив целых чисел после первого отрицательного элемента с++ Добавлено через 14 минут #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <memory.h> #define N 10 http://www.cyberforum.ru/cpp-beginners/thread828391.html
C++ В массиве записана информация о стоимости каждого из 20 видов товара, продаваемых фирмой. С 1 января очередного года фирма прекращает продавать товар
В массиве записана информация о стоимости каждого из 20 видов товара, продаваемых фирмой. С 1 января очередного года фирма прекращает продавать товар, стоимость которого записана в n- м элементе массива. Получит массив со стоимостью всех оставшихся видов товара с++
Вычитание секунды C++
Есть программа которая складывает и вычитает 1 секунду. Если со сложение оказалось все более-менее просто, то с вычитанием проблема! Вот что есть: #include <stdio.h> #include <conio.h> class time { int hour; int min; int sek;
C++ в одномерном массиве имеются только два одинаковых элемента. найти их http://www.cyberforum.ru/cpp-beginners/thread828376.html
В ОДНОМЕРНОМ МАССИВЕ ИМЕЮТСЯ ТОЛЬКО ДВА ОДИНАКОВЫХ ЭЛЕМЕНТА. НАЙТИ ИХ с+
C++ Дан массив целых чисел. Определить количество четных элементов и количество элементов, оканчивающихся на цифру 5 Дан массив целых чисел. Определить количество четных элементов и количество элементов, оканчивающихся на цифру 5 с++ подробнее

Показать сообщение отдельно
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
04.04.2013, 21:23     Добавить аргументы в массив и считать
Здравствуйте.

Как это реализовать? По сути мне нужен динамический массив. Теперь подробней в чем суть.


Есть функция,где я получаю допустим такую структуру:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            WRITE_BYTE( 106 );
            WRITE_COORD( 1493.943481 );
            WRITE_COORD( -515.377319 );
            WRITE_COORD( 73.896065 );
            WRITE_COORD( -8.600349 );
            WRITE_COORD( 2.652168 );
            WRITE_COORD( 0.000000 );
            WRITE_COORD( 78.576340 );
            WRITE_COORD( 20.525637 );
            WRITE_COORD( 124.943565 );
            WRITE_ANGLE( 72.861328 );
            WRITE_SHORT( 160 );
            WRITE_BYTE( 2 );
            WRITE_BYTE( 25 );
            WRITE_BYTE( 1 );

Все WRITE_ могут быть в любом порядке и кол-ве.

Мне эту стркутуру надо как-то записать,чтоб потом её можно было опять получить,как это сделать?

Я могу получить доступ к этим структурам:
C++
1
2
3
4
5
6
7
void WriteCoord(float flValue)
{
}
 
void WriteAngle(float flValue)
{
}


Я думаю,что необходимо возможно сделать enum со всем списком WRITE_,далее во всех void Write делать счетчик,как-то запоминать....запоминать и значения еще..


Покажу на наглядном примере:

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
int MSGID_Brass;
 
namespace EVENTS
{
    int g_Byte;
 
    bool Hook_Brass = false;
}
 
void MessageBegin(int msg_dest, int msg_type, const float *pOrigin, edict_t *ed)
{
    MSGID_Brass = GET_USER_MSG_ID(PLID, "Brass", NULL);
 
    if( msg_type == MSGID_Brass  )
    {
        EVENTS::Hook_Brass = true;
    }
}
 
void WriteByte(int iValue)
{
    if(EVENTS::Hook_Brass)
    {
        EVENTS::g_Byte++;
    }
}
 
void WriteCoord(float flValue)
{
    if(EVENTS::Hook_Brass)
    {
        EVENTS::g_Byte++;
    }
}
 
void WriteAngle(float flValue)
{
    if(EVENTS::Hook_Brass)
    {
        EVENTS::g_Byte++;
    }
}
 
void WriteShort(int a)
{
    if(EVENTS::Hook_Brass)
    {
        EVENTS::g_Byte++;
    }
}

Вот запуск этого:


C++
1
2
3
4
5
6
7
8
9
void MessageBegin(int msg_dest, int msg_type, const float *pOrigin, edict_t *ed)
{
    MSGID_Brass = GET_USER_MSG_ID(PLID, "Brass", NULL);
 
    if( msg_type == MSGID_Brass  )
    {
        EVENTS::Hook_Brass = true;
    }
}
Далее я знаю какие мне использовать WRITE_ Я уже даже там счетчик сделал,в итоге у меня выйдет:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            WRITE_BYTE( 106 );
            WRITE_COORD( 1493.943481 );
            WRITE_COORD( -515.377319 );
            WRITE_COORD( 73.896065 );
            WRITE_COORD( -8.600349 );
            WRITE_COORD( 2.652168 );
            WRITE_COORD( 0.000000 );
            WRITE_COORD( 78.576340 );
            WRITE_COORD( 20.525637 );
            WRITE_COORD( 124.943565 );
            WRITE_ANGLE( 72.861328 );
            WRITE_SHORT( 160 );
            WRITE_BYTE( 2 );
            WRITE_BYTE( 25 );
            WRITE_BYTE( 1 );

Но как это все сохронить,чтоб потом вывести это же когда мне нужно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru