0 / 0 / 0
Регистрация: 28.11.2019
Сообщений: 73
1

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

21.03.2020, 12:42. Показов 160. Ответов 0
Метки нет (Все метки)

Получается,вот задание:
Написать программу для работы с динамическим целочисленным двумерным массивом. Количество строк, столбцов и элементы массива вводятся с клавиатуры. Вывести массив на экран.

Осуществить циклический сдвиг элементов матрицы на n элементов вправо или вниз (в зависимости от введенного режима). n может быть больше количества элементов в строке или столбце.
Есть код:
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
53
54
55
56
57
58
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{        
int i=0, j, m, n, k;
cout << "Enter size: "; cin >> m;
cout << "Enter shift: "; cin >> n;
cout << "Enter 0 right or 1 down : "; cin >> k;
if (n>m) n=n-m*(int(n/m));
double a[100][100], b[100][100];
for (i = 0; i < m; i++)
{
cout << "Enter " << i + 1 << " line\n";
for (j = 0; j < m; j++)
{
cout << "Enter matrix element: ";
cin >> a[i][j];
}
} 
for (i = 0; i < m; i++)
{
for (j = 0; j < m; j++)
cout<< a[i][j] <<" ";
cout<<endl;
}
cout<<endl;
if ((k==0) || (k==1))
{
if (k==0)
{
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
b[i][j]=a[i][m-n+j];
for (i = 0; i <m; i++)
for (j = n; j < m; j++)
b[i][j]=a[i][j-n];
}
if (k==1)
{
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
b[i][j]=a[m-n+i][j];
for (i = n; i <m; i++)
for (j = 0; j < m; j++)
b[i][j]=a[i-n][j];
}
for (i = 0; i < m; i++)
{
for (j = 0; j < m; j++)
cout<< b[i][j] <<" ";
cout<<endl;
}
}
else cout <<"Input Error";
return 0;
}
Проблема в том,что не могу понять как ввести в этом коде строки,столбцы и элементы с клавиатуры,а у меня просто задан размер матрицы.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2020, 12:42
Ответы с готовыми решениями:

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

Осуществить циклический сдвиг элементов в матрице на k элементов вправо или вниз
Осуществить циклический сдвиг элементов в мат-це на k элементов вправо или вниз (в зависимости от...

Осуществить циклический сдвиг элементов массива вправо на k позиций
Решаю задачи на сервере одном, задание было &quot;Дан массив размера N ≥ 2 и число k (0 &lt; k &lt;...

Каким образом осуществить циклический сдвиг на К элементов вправо в массиве?
Объясните пожалуйста ход решения задачи: : В массиве A(N) осуществите циклический сдвиг на K...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2020, 12:42
Помогаю со студенческими работами здесь

Осуществить циклический сдвиг элементов массива вправо на одну позицию
4Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на одну позицию (при...

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k – индекс максимального элемента
Помогите пожалуйста решить эту задачу, Дан массив размера N. Осуществить циклический сдвиг...

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента.
Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k-...

Циклический сдвиг прямоугольной матрицы на n элементов вправо
Подскажите пожалуйста в чем ошибка. Надо осуществить циклический сдвиг прямоугольной матрицы на n...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru