Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
CoffeeTurbo
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 17
#1

Сдвиг - C++

17.02.2010, 14:32. Просмотров 1358. Ответов 23
Метки нет (Все метки)

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
#include <iostream>
#define N 3
#define M 3
using namespace std;
 
int main()
{
 
 
    int array1[N][M]={1,2,3,4,5,6,7,8,9};
 
    for(int i=0;i<N;i++)
    {
        for(int j=0;j<N;j++)
        {
            /*int buf=array1[N][M];   
            array1[0][0]=buf;*/       
            cout<<array1[i][j+1]<<"\t";
        }
        cout<<"\n";
    }
 
    return 0;
}
Код
сдвиг матрицы 
до               после
1 2 3            2 3 4
4 5 6            5 6 7
7 8 9            8 9 1
У меня проблема с присвоением первого значения исходной матрицы последнему значению преобразованной ...
Не могу понять куда в цикле вставлять буфер и обмен.
или как это можно сделать по другому
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2010, 14:32
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сдвиг (C++):

Где и когда уместно применять операции << (сдвиг влево) и >> (сдвиг вправо)? - C++
Кто может привести пример , когда нужно использовать операции: 1) &lt;&lt; сдвиг влево 2) &gt;&gt; сдвиг вправо

СДВИГ - C++
unsigned int x = 0x1234ABCD; // число которое двигать надо unsigned int v = 1; // на сколько двигать x = (x &gt;&gt; v*4) | (x &lt;&lt; (32-v*4));...

10->2 + сдвиг+инвертация - C++
Народ пожалуйста подскажите есть ли у меня ошибки в лабе Написать программу на языке C++, читающую со стандартного ввода 4 деся- ...

Циклический сдвиг. - C++
Нужно написать вот такую прогу, где нужно сдвинуть число а на n бит влево.

Циклический сдвиг - C++
Ребята, в чем может быть проблема? Надо организовать ф-цию циклического сдвига вправо. ТО бишь x-&gt;y, y-&gt;z, z-&gt;x. Что я делаю не так? ...

Сдвиг курсором - C++
Ребят чё то не пойму как вот с такой прогой справиться, писал что то писал и так не дошел.. вот само задание Написать программу,...

23
Genius Ignat
1241 / 779 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.02.2010, 23:03 #16
insideone:
А не про данный случай.
0
insideone
17.02.2010, 23:07
  #17

Не по теме:

Цитата Сообщение от Genius Ignat Посмотреть сообщение
insideone:
А не про данный случай.
Отсутствие тега Offtop автоматически переносит ваше сообщение к разряду по теме

0
Genius Ignat
1241 / 779 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.02.2010, 23:08 #18
insideone:
Не напрягай мозг по пустому пример просто не удачный, цифры одни и те же глаза режет и не сразу поймешь, что куда там переместилось.
CoffeeTurbo:
посмотри внимательней.
0
CoffeeTurbo
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 17
17.02.2010, 23:09  [ТС] #19
Цитата Сообщение от CoffeeTurbo Посмотреть сообщение
Код
сдвиг матрицы 
до               после
1 2 3            2 3 4
4 5 6            5 6 7
7 8 9            8 9 1
вот. тот сдвиг который нужен
0
insideone
Модератор
Автор FAQ
3655 / 935 / 54
Регистрация: 10.01.2010
Сообщений: 2,507
17.02.2010, 23:14 #20
вот. тот сдвиг который нужен
Да, тот код что я присылал послденим выдает такой результат при таких входных данных. И при других входных данных значения получались правильные. Или у меня галлюцинации начались?
0
CoffeeTurbo
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 17
17.02.2010, 23:28  [ТС] #21
Цитата Сообщение от insideone Посмотреть сообщение
Да, тот код что я присылал послденим выдает такой результат при таких входных данных. И при других входных данных значения получались правильные. Или у меня галлюцинации начались?
всё это у меня галлюцинации попутно решал ещё и всё в кажу смелось =)))))
0
insideone
Модератор
Автор FAQ
3655 / 935 / 54
Регистрация: 10.01.2010
Сообщений: 2,507
17.02.2010, 23:33 #22
бывает главное что все правильно...
0
mirso
525 / 343 / 17
Регистрация: 05.04.2009
Сообщений: 709
18.02.2010, 23:38 #23
CoffeeTurbo,
Цитата Сообщение от CoffeeTurbo Посмотреть сообщение
сдвиг матрицы ... после
2 3 4
5 6 7
8 9 1
Цитата Сообщение от CoffeeTurbo Посмотреть сообщение
как это можно сделать по другому
с помощью std::rotate
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
 
//=================================================================== 
int main ()
{
    const size_t n = 3;
    int arr[n][n]={{1,2,3},{4,5,6},{7,8,9}};
    //--------------------------------------
    std::rotate ( *arr, *arr + 1, *arr + n*n );
    //--------------------------------------
    for ( size_t i = 0; i < n; ++i, std::cout << "\n" )
    for ( size_t j = 0; j < n; ++j                    )
    {      
        std::cout << arr[i][j] << ' ';
    }
    
    return 0;
}//==================================================================
0
Nameless One
Эксперт С++
5783 / 3432 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
19.02.2010, 12:49 #24
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
#include <iostream>
#define N 3
#define M 3
using namespace std;
 
int main()
{
 
 
        int array1[N][M]={1,2,3,4,5,6,7,8,9};
        int *ptr=&array1[0][0];
        int temp=*ptr;//Запоминаем 1-ый элемент
        for(size_t i=0; i<N*M-1; ++i)
            ptr[i]=ptr[i+1];//Сдвиг
        ptr[N*M-1]=temp;
        for(size_t i=0; i<N; ++i)
        {
            for(size_t j=0; j<M; ++j)
                cout << array1[i][j] << "\t";
            cout << endl;
        }
        system("pause");
        return 0;
}
0
19.02.2010, 12:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2010, 12:49
Привет! Вот еще темы с ответами:

Побитовый сдвиг - C++
Выполнение данного кода приравнивает asd к нулю. Хотя должно к единице, судя по моим вычислениям. char asd = 10 &amp; 2 &gt;&gt; 1; 1010 ...

Побитовый сдвиг - C++
Непонятна часть программы с 24 по 45 строку. Помогите разобраться, пожалуйста. #include &lt;iostream&gt; using namespace std; const int...

Циклический сдвиг - C++
Здравствуйте помогите пожалуйста мне надо все нечетные строки матрицы сдвинуть циклически на К элементов влево. Знаю тут ужас но не...

Побитовый сдвиг - C++
#include &lt;iostream&gt; using namespace std; int main(int argc, char** argv) { int a,b,c,i; cin &gt;&gt;a; cin &gt;&gt;c; cin &gt;&gt;b; do...


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

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

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