1 / 1 / 2
Регистрация: 09.07.2017
Сообщений: 30
1

Присвоение значения элементу двумерного массива

31.08.2017, 15:26. Показов 6988. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почему я могу сделать так:
C++
1
Coors[1][0] = 2560.6301, Coors[1][1] = -1289.7698, Coors[1][2] = 1044.1250;
, а так:
C++
1
Coors[1] = { 2560.6301, -1289.7698, 1044.1250 };
- нет? Можно ли как-то сделать это с помощью арифметики указателей?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.08.2017, 15:26
Ответы с готовыми решениями:

Присвоение значения случайному элементу массива
Всем привет. Такой вопрос. Вот есть у меня массив, скажем, A, состоящий из десяти элементов....

Указатели и классы: присвоение значения элементу массива, который является полем класса
Доброго времени суток, делал задание, где надо создать класс, полем которого будет массив...

Присвоение значения элементу списка
Здравствуйте. У меня есть односвязный список состоящий фамилия, стиль, результат. В задании дано,...

присвоение значения элементу векторного класса
Написал я класс для массива (значений функции на отрезке): class DoubleArray { public: .... ...

2
10 / 10 / 6
Регистрация: 12.05.2016
Сообщений: 42
31.08.2017, 16:03 2
Знаю что можно при объявлении массива делать так:
C++
1
int Colors[2][3] = { {1, 2, 1}, {3, 2, 1} };
0
18838 / 9839 / 2406
Регистрация: 30.01.2014
Сообщений: 17,279
31.08.2017, 16:15 3
Цитата Сообщение от Kommunizm Посмотреть сообщение
а так:
C++
1
Coors[1] = { 2560.6301, -1289.7698, 1044.1250 };
- нет?
Потому что массивы нельзя присваивать (по идеологически-историческим причинам).

Зато можно без ущерба для эффективности, и даже с профитом для безопасности некоторых операций сделать так:
Кликните здесь для просмотра всего текста
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
template <typename T, size_t L, size_t R>
struct checked_array
{
    struct second_dimension
    {
        explicit second_dimension(T (& v)[R])
            : line(v)
        { }
 
        T (& line)[R];
 
        T & operator[](size_t y)
        {
            assert(y < R);
            return line[y];
        }
 
        void operator=(T const (& other)[R]) // !
        {
            std::copy(std::begin(other), std::end(other), std::begin(line));
        }
    };
 
    second_dimension operator[](size_t x)
    {
        assert(x < L);
        return second_dimension(data[x]);
    }
 
    T data[L][R];
};
 
int main()
{
    checked_array<double, 2, 3> coords = {};
    
    coords[1] = { 2560.6301, -1289.7698, 1044.1250 };
    
    std::cout << coords[1][0] << ' '
              << coords[1][1] << ' '
              << coords[1][2] << '\n';
}
Демка в онлайн компиляторе здесь.
0
31.08.2017, 16:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.08.2017, 16:15
Помогаю со студенческими работами здесь

Присвоение значений элементам двумерного динамического массива
Я недавно начал программировать на языке С++, поэтому, естественно, многого не понимаю :( Вот...

Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца двумерного массива
Кто знает. Плиз. Дан двумерный массив целых чисел. Сформировать одномерный массив, каждый элемент...

Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива.
Дан двумерный массив целых чисел. Сформировать одномерный массив, каждый элемент которого равен...

Присвоение элементу массива значения другого элемента этого же массива
Всем доброго времени суток! Возникла проблема следующего толка: пишу программу для определения...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru