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

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

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

Сдвиг элементов матрицы - C++

05.02.2012, 16:08. Просмотров 1425. Ответов 5
Метки нет (Все метки)

Здравствуйте, было задание
Осуществить циклический сдвиг элементов прямоугольной матрицы на п элементов
вправо или вниз (в зависимости от введенного режима), п может быть
больше количества элементов в строке или столбце.

я сделала матрицу 5х5, но почему-то когда запускаю программу, независимо от выбранного направления сдвига, программа сдвигает строки, но никак не столбцы. Ниже привожу код, подскажите пожалуйста, где я ошиблась.

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
43
44
45
46
47
48
49
50
51
52
// Двумерный массив.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>//для нажатия клавиши
#include <clocale>//библиотека для кодировки
#include <math.h>
#include <stdio.h>
using namespace std;//использовать пространство имен (чтобы не писать std)
 
 
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_CTYPE,"Russian");//поддержка русской кодировки
int M[5][5]={2,6,4,10,5,7,0,9,13,4,6,5,8,19,3,7,2,8,23,1,8,3,2,19,7};
int Mas[5][5]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int i,j,n,naprav;
 
    cout<< "\nвведите направление сдвига(0 'вправо' или 1 'вниз')\n";
    cin>>naprav;
    cout<< "\nвведите число символов, на которое осуществляется сдвиг\n";
    cin>>n;
    cout<<endl;
    i=0;
    j=0;
 
for (i=0; i<5; i++) // проход по столбцу
    {for (j=0; j<5; j++) //проход по стоке
        cout<< M[i][j]<<"   " ; // вывод массива
    cout<<endl;                //конец j-той строки
    }
    cout<<endl;
if (naprav==0);
   {for (i=0; i<5; i++)
     for (j=0; j<5; j++)
         Mas[i][j]=M[i][(j+n)%5];}
if (naprav==1);
   {for (j=0; j<5; j++)
     for (i=0; i<5; i++)
         Mas[i][j]=M[(i+n)%5][j];}
//else cout<<"неправильное направление сдвига\n";
    
 
for (i=0; i<5; i++) // проход по столбцу
    {for (j=0; j<5; j++) //проход по стоке
        cout<< Mas[i][j]<<"   " ; // вывод массива
    cout<<endl;                //конец j-той строки
    }
 
    _getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2012, 16:08     Сдвиг элементов матрицы
Посмотрите здесь:

C++ Осуществить циклический сдвиг элементов прямоугольной матрицы
Циклический сдвиг прямоугольной матрицы на n элементов вправо C++
C++ Осуществить циклический сдвиг элементов квадратной матрицы
Циклический сдвиг элементов матрицы по кругу на число T C++
C++ Осуществить циклический сдвиг элементов в матрице на k элементов вправо или вниз
Что такое циклический сдвиг элементов матрицы C++
Как осуществить циклический сдвиг элементов квадратной матрицы C++
Выполнить циклический сдвиг элементов квадратной матрицы, используя локальные и динамические массивы C++
C++ Осуществить циклический сдвиг элементов прямоугольной матрицы
Осуществить циклический сдвиг элементов квадратной матрицы C++
C++ Осуществить сдвиг элементов матрицы на указанное количество позиций влево
Выполнить циклический сдвиг элементов каждой строки матрицы на количество позиций, равное номеру строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IFree Host
Заблокирован
05.02.2012, 16:15     Сдвиг элементов матрицы #2
mika_vazovski, Ну, поменяй i и j местами.
mika_vazovski
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 5
05.02.2012, 16:27  [ТС]     Сдвиг элементов матрицы #3
IFree Host сейчас попробую

Добавлено через 4 минуты
IFree Host спасибо!!! теперь все правильно работает
IFree Host
Заблокирован
05.02.2012, 16:28     Сдвиг элементов матрицы #4
mika_vazovski, Удачи!
mika_vazovski
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 5
05.02.2012, 16:40  [ТС]     Сдвиг элементов матрицы #5
она без сомнения пригодится
Roguen
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 7
08.04.2013, 17:57     Сдвиг элементов матрицы #6
можешь скинуть правильный код? у меня такое же задание, ничего не получается
Yandex
Объявления
08.04.2013, 17:57     Сдвиг элементов матрицы
Ответ Создать тему
Опции темы

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