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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Owen04
5 / 5 / 3
Регистрация: 25.12.2009
Сообщений: 144
#1

Сдвинуть вектор. - C++

20.02.2011, 17:01. Просмотров 649. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
for(i=0;i<3;i++)
   {
    x3[i]=0;
     for(int j=0;j<4;j++)
      {
       x3[i]+=W2[i][j]*x2[j];
      }
    }
Тут
W2[0][0]*x2[0]
W2[0][1]*x2[1]
W2[0][2]*x2[2]
W2[0][3]*x2[3]

Но у меня x2 с размером 3, тоесть есть только x2[0], x2[1], x2[2].
Нужно сдвинуть, что бы впереди была еденица, а x2[0] стал x2[1] и т.д.

или что бы было так
W2[0][0]*1 // x2[-1]
W2[0][1]*x2[0]
W2[0][2]*x2[1]
W2[0][3]*x2[2]

я пробывал
C++
1
2
3
4
5
6
7
8
for(i=0;i<3;i++)
   {
    x3[i]=0; x2[-1]=1;
     for(int j=0;j<4;j++)
      {
       x3[i]+=W2[i][j]*x2[j-1];
      }
    }
Но так походу не зя.

Добавлено через 5 минут
Тоесть просто сдвинуть на шаг вправо элементы вектора

Добавлено через 37 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for(int e=0;e<4;e++)
      {
       x2a[e]=x2[e];
       x2[e]=x2a[e-1];
       x2[0]=1;
      }
for(i=0;i<3;i++)
   {
    x3[i]=0;
     for(int j=0;j<4;j++)
     {
      x3[i]+=W2[i][j]*x2[j];
      }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 17:01     Сдвинуть вектор.
Посмотрите здесь:

можно ли в вектор добавить вектор? - C++
не сложить, а добавить? например, даны такие векторы: std::vector&lt;glm::vec2&gt; myVector; и vector&lt;вот тут какой тип делать?&gt;...

Сдвинуть элементы - C++
Сдвинуть элементы массива циклически вправо на n позицию. Напишите пожалуйста код, Visual C++.

как сдвинуть указатель - C++
Всем привет. Воплощаю в жизнь поиск (как в блокноте). Идея такая. При первом заходе (счётчик CountM) указатель ставится на начало строки....

Сдвинуть элементы массива - C++
Все элементы массива Х(30) сдвинуть на n позиций влево при помощи указателей

Сдвинуть всю последовательность - C++
Дана последовательность из N (1 ≤ N ≤ 100000) целых чисел и число K (|K| ≤ 100000). Сдвинуть всю последовательность на |K| элементов...

Сдвинуть матрицу вправо - C++
http://cs413625.vk.me/v413625605/471e/gRweR8lUamg.jpg Вот пример чуть похожий. Насколько я понял как делать. Ну, а вот суть всей задачи: ...

Сжать (сдвинуть) элементы массива - C++
Сжать(сдвинуть элементы) массив, удалив из него все 0, и заполнить освободившиеся справа элементы значениями -1; Добавлено через 14...

Сдвинуть элементы массива циклически - C++
подскажите алгоритм. Задан массив из k чисел. Сдвинуть элементы массива циклически на n позиций вправо. главное условие: через один...

Сдвинуть циклически на К слов вправо - C++
Задание Сдвинуть циклически на К слов вправо. Не могу решить, помогите!

Сдвинуть массив на 1 элемент влево - C++
Значение нулевого элемента можно оставить, как есть. Заранее спасибо.

Сдвинуть сроки матрицы вверх - C++
while (kol_poz &gt; 0) { for (int j = 0; j &lt; N; j++) //столбцы { int h = mas; for (int i = 0; i &lt; M; i++) ...

Как сдвинуть указатель на несколько байт? - C++
Сейчас разбираю пример из книжки и столкнулся со следующей проблемой. Компилирую в Visual Studio 2005. Переменная curr обьявленна...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
20.02.2011, 17:25     Сдвинуть вектор. #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
#define SIZ 6
 
int main(){
    int i;
    int arr[SIZ]={4, -6, 8, 10, -16, 14};
    for(i=SIZ-1; i>0; i--){
        arr[i]=arr[i-1];
    }
    arr[i]=1;
    for(i=0; i<SIZ; i++){
        printf("%d  ", arr[i]);
    }
    return 0;
}
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,189
Завершенные тесты: 1
20.02.2011, 17:49     Сдвинуть вектор. #3
Может просто так вот?
C++
1
2
3
4
5
6
7
8
9
for(i=0;i<3;i++)
{
    x3[i]=0;
    x3[0]+=W2[i][0];
    for(int j=1;j<4;j++)
    {
        x3[i]+=W2[i][j]*x2[j-1];
    }
}
Owen04
5 / 5 / 3
Регистрация: 25.12.2009
Сообщений: 144
20.02.2011, 17:54  [ТС]     Сдвинуть вектор. #4
Спасибо)))
У меня так будет

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for(int e=0;e<4;e++)
      {
       x2a[e]=x2[e];
       x2[e]=x2a[e-1];
       x2[0]=1;
      }
for(i=0;i<3;i++)
   {
    x3[i]=0;
     for(int j=0;j<4;j++)
     {
      x3[i]+=W2[i][j]*x2[j];
      }
    }
Yandex
Объявления
20.02.2011, 17:54     Сдвинуть вектор.
Ответ Создать тему
Опции темы

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