Как заменить несколько столбцов матрицы с использованием std :: valarray и std :: gsliceC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как заменить несколько столбцов матрицы с использованием std :: valarray и std :: gslice

Сообщение Anonymous »

У меня есть набор последовательных чисел от 1 до 24. Я интерпретирую этот набор как матрицу 4 на 6, используя std::valarray:

Код: Выделить всё

std::valarray va{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24};

/*
1  2  3  4  5  6
7  8  9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
*/
Я могу заменить значения первого и третьего столбцов на -1, используя std::gslice:
va[std::gslice{ 0, {2, 4}, {2, 6} }] = -1;

/*
-1 2 -3 4 5 6
-7 8 -9 10 11 12
-13 14 -15 16 17 18
-19 20 -21 22 23 24
*/
< /code>
Но я не знаю, как заменить значения первого, третьего и шестом столбцов на -1. Может, кто -то может мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -stdgslice
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»