Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 37

Перевод из C++ в VBa

30.06.2020, 16:55. Показов 1389. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, можете помочь с переводом кода из одной среды в другую?

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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
//Оплата парковки
 
//Имя входного файла: стандартный ввод
//Имя выходного файла: стандартный вывод
//Ограничение по времени: 2 секунды
//Ограничение по памяти: 256 мегабайт
 
//На каникулах Роман решил отдохнуть во Флатландии и арендовал себе апартаменты
//и роскошный автомобиль. Разумеется, такой автомобиль нельзя оставлять во дворе,
 //поэтому Роман хочет также арендовать место на ближайшей охраняемой парковке.
//Поскольку он уже поиздержался с жильём и машиной, он хочет потратить на парковку
//как можно меньше бурлей.
//На парковке доступны три тарифа аренды:
 
//1. Заплатив a бурлей, можно использовать парковку в течение 1 дня.
 
//2. Заплатив b бурлей, можно использовать парковку в течение одной недели, то есть
//7 дней.
 
//3. Заплатив c бурлей, можно использовать парковку в течение четырёх недель, то есть
//28 дней.
 
//Роман планирует отдыхать во Флатландии n дней. Любой тариф можно использовать
//произвольное количество раз, также можно арендовать парковку на суммарно больший
//срок, чем нужно.
//Какое минимальное количество бурлей придётся заплатить Роману, чтобы иметь возможность
//использовать стоянку все n дней?
 
//Формат входных данных
//Первая строка входных данных содержит три целых числа a, b, c (1 <= a <= b <= c <= 1000)
//— цена в бурлях за однократную покупку первого, второго и третьего тарифа аренды
//соответственно.
 
//Вторая строка содержит целое число n (1 <= n <= 10^15) — количество дней, в течение которых
//Роман планирует отдыхать во Флатландии и оставлять машину на охраняемой парковке.
 
//Формат выходных данных
 
//Выведите единственное целое число — минимальное количество бурлей, которое Роману
//придётся потратить на аренду парковочного места.
 
//Примеры
 
//стандартный ввод   стандартный вывод
//4 7 20            14
//10
 
//2 9 38            47
//36
 
//Замечание
 
//В первом примере Роману выгодно взять 2 абонемента на неделю, это будет стоить
//2 * 7 = 14 бурлей и позволит оплатить парковку на 14 дней.
 
//Во втором примере выгодно купить 5 абонементов на неделю и 1 на день.
//Количество оплаченных дней будет ровно 36, а цена составит
//1 * 2 + 5 * 9 + 0 * 38 = 47 бурлей.
///////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <array>
#include <cmath>
#include <iostream>
#include <limits>
///////////////////////////////////////////////////////////////////////////////
typedef long long               T_int;
///////////////////////////////////////////////////////////////////////////////
const   T_int                   TARIFFS_TOTAL   {3};
///////////////////////////////////////////////////////////////////////////////
typedef std::array  < T_int,    TARIFFS_TOTAL   >   T_int_val_of_tariff;
///////////////////////////////////////////////////////////////////////////////
const   T_int_val_of_tariff     DAYS_OF_TARIFF  { 1, 7, 28 };
///////////////////////////////////////////////////////////////////////////////
T_int     periods_of_tariff
    (
        T_int     n,
        T_int     tariff_ind
    )
{
    return          n
                /   DAYS_OF_TARIFF          [ tariff_ind ]
 
            +   (
                            n
                        %   DAYS_OF_TARIFF  [ tariff_ind ]
 
                    !=  0
                );
}
///////////////////////////////////////////////////////////////////////////////
T_int     price_total_min
    (
        T_int_val_of_tariff     const   &   price_of_tariff,
        T_int                               n
    )
{
    T_int_val_of_tariff     price_min_of_tariff{{}};
 
    for( T_int  i{}; i < TARIFFS_TOTAL; ++i )
    {
        auto    &   elem_cur    =   price_min_of_tariff[i];
        elem_cur                =   std::numeric_limits<T_int>::max();
 
        for( T_int  j{}; j <= i; ++j )
        {
            elem_cur    =   std::min    (
                                            elem_cur,
 
                                                price_of_tariff     [j]
                                            *   DAYS_OF_TARIFF      [i]
                                            /   DAYS_OF_TARIFF      [j]
                                        );
        }//for
    }//for
 
    T_int_val_of_tariff     results{{}};
 
    results[2]  =       price_min_of_tariff     [2]
                    *   periods_of_tariff       ( n, 2 );
 
    for( T_int  i = 1; i >= 0; --i )
    {
        results[i]      =   results[i + 1];
 
        auto    n_i     =       n
                            %   DAYS_OF_TARIFF[i + 1];
 
        if( n_i )
        {
            results[i]  =       results                     [i]
                            -   price_min_of_tariff         [i + 1]
 
                            +       price_min_of_tariff     [i]
 
                                *   periods_of_tariff
                                        (
                                            n_i,
                                            i
                                        );
        }//if
    }//for
 
    return  *std::min_element
                (
                    std::begin  ( results ),
                    std::end    ( results )
                );
}
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    T_int_val_of_tariff     price_of_tariff{{}};
 
    for( auto   &   price   :   price_of_tariff )
    {
        std::cin    >>  price;
    }
 
    T_int     n{};
    std::cin   >>  n;
 
    std::cout   <<  price_total_min
                        (
                            price_of_tariff,
                            n
                        )
 
                <<  std::endl;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.06.2020, 16:55
Ответы с готовыми решениями:

Перевод на VBA с c++
Перевод на VBA с c++ Ввести строку, состоящую только из цифр и букв. Распечатать те группы цифр, в которых цифра 7 встречается не...

Перевод с VBA на C#
Не знаю правильно ли я перевел, если не так то подскажите пожалуйста в чем ошибки. Код с примера ...

Перевод из Pascal в VBA
Нужно перевести из Pascal в VBA PROGRAM Solution(INPUT, OUTPUT); VAR   num: INTEGER;   n1, n2, n3: INTEGER; BEGIN

4
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
30.06.2020, 17:05
Mufasa12, я правильно понял, Вы хотите получить код на Visual Basic for Application?
Т.е. запустить его, например, в Excel?
1
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 37
30.06.2020, 17:07  [ТС]
На языке visual basic можно и через платформу Visual Studio..
Могу отправить само условие задачи, может проще будет код написать заново, а не переводить с другого языка... но в общем-то вы всё верно описали
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
30.06.2020, 17:09
Mufasa12, я перекинул тему в Visual Basic
А условие давайте, конечно. Не помешает.
1
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 37
30.06.2020, 17:13  [ТС]
очень надеюсь на вашу скорую помощь..
Миниатюры
Перевод из C++ в VBa  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.06.2020, 17:13
Помогаю со студенческими работами здесь

Перевод с Python на VBA
Как перевести с Python на VBA max(text.split(), key=lambda w: len(re.sub(pat, '', w)))

Перевод из vba в delphi
Кто поможет перевести ? Selection.MoveDown Unit:=wdLine, Count:=1 Selection.EndKey Unit:=wdStory, Extend:=wdExtend

Перевод из Pascal в VBA
program Begin20; var x1,y1,x2,y2,L: Real; begin Writeln('Введите значение координат певой точки: '); Write('Введите...

Перевод с Паскаль на VBA
Само задание : Найти наименьший номер члена последовательности, для которого выполняется условие |an — an-1| &lt; ε. Вывести на...

Перевод с Бейсика на VBA
Здравствуйте, помогите, пожалуйста, перевести программный код с Бейсика на VBA. Заранее благодарю. 10 cls 20 input &quot;Введите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru