Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с кавычками с++ https://www.cyberforum.ru/ cpp-beginners/ thread2489973.html
можете ли вы мне помочь со столь стервозной проблемой. Допустим у меня есть строка - string str = "hello "world" "\\\"" --- \'\\ test \"\' world "; и мне нужно узнать откуда...
Thread. Первый раз с много-поточностью C++
Привет, форумчане! есть код, код не мой, но хотелось бы, по возможности, разобраться. Нужно генерировать случайные строки из диапазоне mutex mtx; class Make_timer { public: Make_timer()...
C++ Thread. Многопоточность Привет! есть код, код не мой, но хотелось бы разобраться, по возможности. Нужно генерировать строки в диапазоне mutex mtx; class Make_timer { public: Make_timer() :t1(system_clock::now()) {... https://www.cyberforum.ru/ cpp-beginners/ thread2489910.html C++ Z(x,y)=min{max{sinx,siny},x,y} Как вычислить ф-цию Z(x,y)=min{max{sinx,siny},x,y} если -1.7<=x<=9.4 увеличение по 9.3, а 0<=y<=3 , увеличение по 0.75 . https://www.cyberforum.ru/ cpp-beginners/ thread2489898.html
Переменные родительского класса C++
Всем привет! Такая проблема Класс родитель class Layer { public: Layer(); ~Layer();
C++ Ускорение кода https://www.cyberforum.ru/ cpp-beginners/ thread2489857.html
Как ускорить код: #include <iostream> using namespace std; int main(){ int n, q, c = 0;
C++ Прекращается работа программы При запуске в Visual Studio 2019 программа не работает и появляется сообщение "Прекращена работа программы". Подскажите, пожалуйста, как исправить ошибку? #include<iostream> #include<stack>... https://www.cyberforum.ru/ cpp-beginners/ thread2489832.html Перебор элементов в массиве C++
Условие задачи: Написать отдельную функцию, которая принимает 2 параметра (char, int sum). Дано: 3 * (21 + 17)) / (3 - 1) + 43, если ошибок нет, функция должна вернуть значение 100, а если есть...
C++ Как сделать динамический массив глобальным https://www.cyberforum.ru/ cpp-beginners/ thread2489817.html
Нужно что бы создание, ввод и вывод были в разных функциях #include "pch.h" #include <iostream> using namespace std; int main(){ setlocale(LC_ALL,"Russian");
C++ Побитовые логические выражения https://www.cyberforum.ru/ cpp-beginners/ thread2489805.html
Пишу программу для побитовых логических операций. Приоритет ! = 4, ~ = 4, & = 3, ^ = 2, | = 1. Мои комментарии на русском. '=' показывает результат. Найденные проблемы: 1) x|y^z, это она...
C++ Можно ли так делать ?
Я пока что начинающий, поэтому хочу спросить, можно ли так делать ? #include<iostream> #include<cstdlib> using namespace std; int Factorial(int k) { if(k==1)
C++ Перегруженный оператор ввода Почему ошибка при попытке вывести результат сложения двух матриц? #include <iostream> using namespace std; class Matrix { private: https://www.cyberforum.ru/ cpp-beginners/ thread2489782.html
567 / 406 / 132
Регистрация: 22.11.2017
Сообщений: 1,053
15.08.2019, 12:24 0

Можно ли создать массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться int и т.д.? - C++ - Ответ 13771979

15.08.2019, 12:24. Показов 6066. Ответов 119
Метки (Все метки)

Ответ

Я причесал свой код.
Кликните здесь для просмотра всего текста

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
#include <iostream>
#include <vector>
 
template <typename T, size_t N>
size_t count_arr(T(&arr)[N])
{
    return sizeof(arr) / sizeof(arr[0]);
}
 
template <typename T, size_t N>
size_t size_element_arr(T(&arr)[N])
{
    return sizeof(std::remove_reference<decltype(*arr)>::type);
}
 
template <typename T>
void push(void* &ptr_void, T value)
{
    T* ptr_type = static_cast<T*>(ptr_void);
    *ptr_type = value;
    ptr_void = static_cast<void*>(ptr_type + 1);
}
 
template <typename T>
void read(void* &ptr_void, T& value)
{
    T* ptr_type = static_cast<T*>(ptr_void);
    value = *ptr_type;
    ptr_void = static_cast<void*>(ptr_type + 1);
}
 
int main()
{
    double d[]{ 1.5, 45.28, 316, -20.4 };
    char c[]{ 'a', 'u', 't', 'o'};
    int i[]{ 25, 14};
    bool b[]{ true, false, false, true, true, true };
    std::pair<size_t, char> p[]{ { 1, 'a' }, { 2, 'b' }, { 3, 'c' } };
 
    size_t count_bytes =
        size_element_arr(d) * count_arr(d) +
        size_element_arr(c) * count_arr(c) +
        size_element_arr(i) * count_arr(i) +
        size_element_arr(b) * count_arr(b) +
        size_element_arr(p) * count_arr(p);
    std::cout << "count_bytes = " << count_bytes << "\n";
    void* arr = calloc(1, count_bytes);
    void* arr2 = arr;
    void* arr3 = arr;
    void* arr4 = arr;
    for (auto& value : d)
        push(arr2, value);
    for (auto& value : c)
        push(arr2, value);
    for (auto& value : i)
        push(arr2, value);
    for (auto& value : b)
        push(arr2, value);
    for (auto& value : p)
        push(arr2, value);
    std::cout << "\n";
    for (size_t idx = 0u; idx < count_bytes; ++idx)
    {
        char value;
        read(arr4, value);
        std::cout << static_cast<short>(value) << " ";
    }
    std::cout << "\n";
    std::cout << "\n";
    for (size_t idx = 0u; idx < count_arr(d); ++idx)
    {
        double value;
        read(arr3, value);
        std::cout << value << "\n";
    }
    for (size_t idx = 0u; idx < count_arr(c); ++idx)
    {
        char value;
        read(arr3, value);
        std::cout << value << "\n";
    }
    for (size_t idx = 0u; idx < count_arr(i); ++idx)
    {
        int value;
        read(arr3, value);
        std::cout << value << "\n";
    }
    for (size_t idx = 0u; idx < count_arr(b); ++idx)
    {
        bool value;
        read(arr3, value);
        std::cout << std::boolalpha << value << "\n";
    }
    for (size_t idx = 0u; idx < count_arr(p); ++idx)
    {
        std::pair<size_t, char> value;
        read(arr3, value);
        std::cout << value.first << " " << value.second << "\n";
    }
    free(arr);
 
    return 0;
}


Вернуться к обсуждению:
Можно ли создать массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться int и т.д.? C++
0
Миниатюры
Можно ли создать массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться int и т.д.?  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.08.2019, 12:24
Готовые ответы и решения:

Создать базу из трех сотрудников, где будут храниться их имена
суть задачи: нужно создать базу из трех сотрудников, где будут храниться их имена, з.п, должности,...

Можно ли в com-сервере создать массив в котором будут храниться данные какое-то время
Можно ли в com-сервере сделать так, чтобы одна из процедур выполняла вычисления и заносила их в...

Создать массив, содержащий массивы, которые, в свою очередь, содержат массивы, в которых уже будут храниться различные типы данных
Мне нужно создать массив, содержащий массивы, которые, в свою очередь, содержат массивы, в которых...

Создать централизованную базу данных, где будут храниться все клиенты, всех офисов
Доброго времени суток ! Есть проблема одна. Несколько офисов, работают ведут учет клиентов в...

119
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2019, 12:24

Получить массив, где будут храниться индексы строк матрицы, в которых есть равные элементы
2. Дан прямоугольный массив A. Получить линейный массив B, в котором будут храниться номера тех...

Создать класс, в котором информация будет храниться в хеше.
А подскажите еще, мне нужно создать класс , в котором в хеше будет храниться информация, ее...

Комментарии. Создать модуль, в котором будет храниться процедура создания картинки
Привет всем! помогите с комментариями к программе пожалуйста... Создайте модуль, в котором будет...

дан массив целых чисел в котором храниться 20 тысяч элементов
дан массив целых чисел в котором храниться 20 тысяч элементов.Найти в массиве первый минимальный...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.