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

Сдвинуть элементы двумерного массива на k позиций влево - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Режим отладки http://www.cyberforum.ru/cpp-beginners/thread719543.html
Добрый вечер, суть проблемы в том, что при запуске программы в режиме отладки программа работает правильно, но когда я компилирую в обычном режиме программа работает неправильно. Компилирую в...
C++ Перевод даты из символьного формата во внутреннее представление и обратно Разработать функцию, которая переводит дату из символьного формата «дд.мм.гггг» во внутреннее представление и обратно.Только чтобы не использовать цикл http://www.cyberforum.ru/cpp-beginners/thread719542.html
C++ в данной действительной квадратной матрице порядка n найти сумму элементов строки ,в которой расположен элемент с наименьшим значением. Предполагается
в данной действительной квадратной матрице порядка n найти сумму элементов строки ,в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.можно написать...
Квадратная Матрица (найти след, преобразовать по правилу) C++
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, суммируя элементы одномерного массива. Преобразовать исходную матрицу по правилу :...
C++ Текстовый анализитор http://www.cyberforum.ru/cpp-beginners/thread719501.html
Написать программу, определяющую корректность расстановки круглых скобок в арифметическом выражении
C++ Замена элементов в двумерном массиве В общем, всем здравствуйте. Проблема такая - написал код, который должен заменять элементами из верхнего синего треугольника элементы нижнего зелёного. (Извините - я не художник :) ) Но он не... подробнее

Показать сообщение отдельно
Sheptashka
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 22

Сдвинуть элементы двумерного массива на k позиций влево - C++

04.12.2012, 22:18. Просмотров 1209. Ответов 2
Метки (Все метки)

Немножко не умею пользоваться динамическими массивами.
Из-за этого кажется сделал глупые ошибки в программе
Суть программы:
Сдвинуть элементы массива на k позиций влево.
Пример
1 2
3 4
сдвиг на 1 влево
2 3
4 1

Мой вариант

C++ (Qt)
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
int main()
{
int i,j,a,k;
 
cout<<"vvedite sdvig matricy"<<endl;
 
cin >> k;
 
 
 
 
cout<<"vvedite razmernost matricy"<<endl;
    cin>>a;
 
int* mas=new int[a][a];      //////  Косяк в этих двух строчках
 
int* sam=new int[a][a];      ////// Не знаю как динамически выделить память под эти массивы.
 
 
    cout<<"razmernost matricy = "<<a<<endl;
    cout<<"vvedite elementy matricy po poryadky: "<<endl;
 
    
    
    for (i=0;i<a;i++)
    {
    for (j=0;j<a;j++)
    {
    cin>>mas[i][j]; 
    }
    }
 
    cout<<"zapolnyaem matricy chislami po poryadky..."<<endl;
 
    for (i=0;i<a;i++)
    {
    for (j=0;j<a;j++)
    {
    cout<<mas[i][j]<<" ";   
    }
    cout<<endl;
    }
 
int* p_mas = &mas[0][0];
for (i=0; i<a; i++)
{
for (j=0; j<a; j++)
{
sam[i][j]=*(p_mas+(i*a+j+k)%(a*a));
}
}
 
cout<<"result:"<<endl;
for (i=0;i<a;i++)
    {
        for (j=0;j<a;j++)
        {
            cout<<sam[i][j]<<' ';
        }
        cout<<endl;
    }
 
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru