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

Осуществить циклический сдвиг элементов прямоугольной матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка кучи в алгоритме STL sort() http://www.cyberforum.ru/cpp-beginners/thread2222507.html
#include <iostream> #include <cstdlib> #include <cstring> #include <ctime> #include <stdexcept> #include <stdio.h> #include <algorithm> #define MAX 255
C++ Найти два различных элемента массива, сумма которых наиболее близка к числу R Дано число R и массив размера N. Найти два различных элемента массива, сумма которых наиболее близка к числу R, и вывести эти элементы в порядке возрастания их индексов (то есть такой элемент AK,... http://www.cyberforum.ru/cpp-beginners/thread2222488.html
C++ Списки: объяснить, что происходит в заданном фрагменте кода
Помогите разобраться в коде, вот код с# public class Node { public string Data { get; set; } public Node head; public Node next; public Node() { } ...
C++ Код из массива структур изменить на динамическую структуру данных либо на список
Как код из массива структур изменить на динамическую структуру данных либо на список? Объясните пожалуйста)
C++ Можно ли объявлять массив с размером, заданным переменной? http://www.cyberforum.ru/cpp-beginners/thread2222463.html
если нельзя то почему в код блоке это работает? и как тут выделяется память? int n; cin>>n; int a; for(int i=0;i<n;i++) cin>>a;
C++ Функция выделяющая подстроку заданной длины, начиная с заданного символа Выделить подстроку заданной длины, начиная с заданного символа. Создать функцию, которая будет возвращать подстроку заданной длины. Функция должна принимать следующие аргументы: указатель на... подробнее

Показать сообщение отдельно
mika_vazovski
3 / 3 / 0
Регистрация: 01.02.2012
Сообщений: 5

Осуществить циклический сдвиг элементов прямоугольной матрицы - C++

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

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

я сделала матрицу 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;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru