Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Nonamehere
0 / 0 / 0
Регистрация: 25.12.2017
Сообщений: 9
1

Отобразить верхнюю половину матрицы на нижнюю зеркально симметрично

27.12.2017, 14:34. Просмотров 867. Ответов 6
Метки нет (Все метки)

Заполнить матрицу случайными числами. Отобразить верхнюю половину матрицы на нижнюю зеркально симметрично относительно горизонтальной оси.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2017, 14:34
Ответы с готовыми решениями:

Отобразить правую половину матрицы на левую зеркально симметрично относительно вертикальной оси
как можно сделать такую матрицу использовав только цикла задача такая...

Отобразить правую половину матрицы на левую зеркально симметрично относительно вертикальной оси
Заполнить матрицу случайными числами. Отобразить правую половину матрицы на...

Отобразить левую половину матрицы на правую зеркально симметрично относительно вертикальной оси
Заполнить матрицу случайными числами.Отобразить левую половину матрицы на...

Поменять местами верхнюю и нижнюю половины матрицы.
Дана матрица размера M × N (M — четное число). Поменять местами верхнюю и...

Поменять местами верхнюю и нижнюю половины матрицы
написать программы по своим вариантам, которые реализуют алгоритм работы с...

6
Yetty
1015 / 786 / 661
Регистрация: 18.12.2017
Сообщений: 3,052
28.12.2017, 05:51 2
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
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
int i, j, n, m;
double a[100][100]; 
//заполнение массива случайными числами
cout << "Enter lines (1<n<=100) n="; cin >> n;
cout << "Enter columns (1<m<=100) m="; cin >> m;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
a[i][j]=rand()%9;
}
}
//вывод массива на экран 
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
cout<< a[i][j] <<" ";
cout<<endl;
}
cout<<endl;
//вывод обновлённого массива на экран
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
cout<< a[n-1-i][j] <<" ";
cout<<endl;
}
system("pause");
return 0;
}
1
Байт
Эксперт C
19182 / 12328 / 2602
Регистрация: 24.12.2010
Сообщений: 25,327
28.12.2017, 14:29 3
Yetty, Имхо, вы эту матрицу просто перевернете. А мне кажется, что по условию из матрицы
1 2
3 4
5 6
7 8
надо сделать
1 2
3 4
3 4
1 2
0
Nonamehere
0 / 0 / 0
Регистрация: 25.12.2017
Сообщений: 9
28.12.2017, 14:47  [ТС] 4
да, имелось ввиду именно это
0
Изображения
 
Байт
Эксперт C
19182 / 12328 / 2602
Регистрация: 24.12.2010
Сообщений: 25,327
28.12.2017, 14:50 5
Лучший ответ Сообщение было отмечено Nonamehere как решение

Решение

C++
1
2
3
4
5
6
7
for (i = 0; i < n; i++)
{
int k = (i < n/2) ? i : n-i-1;
for (j = 0; j < m; j++)
cout<< a[k][j] <<" ";
cout<<endl;
}
1
Yetty
1015 / 786 / 661
Регистрация: 18.12.2017
Сообщений: 3,052
28.12.2017, 19:19 6
Цитата Сообщение от Байт Посмотреть сообщение
Имхо, вы эту матрицу просто перевернете.
Байт, спасибо. Действительно невнимательно вчитался в условие - делал для зеркального отображения верха и низа.
Nonamehere, для Вашей задачи замените блоком Байт блок "вывод обновлённого массива".
0
Nonamehere
0 / 0 / 0
Регистрация: 25.12.2017
Сообщений: 9
28.12.2017, 20:35  [ТС] 7
Уже заменил, спасибо.
0
28.12.2017, 20:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2017, 20:35

Поменять местами левую верхнюю и правую нижнюю четверти матрицы - С и C++
Добрый вечер. Я новичок в программировании и не могу понять, как нужно делать...

Поменять местами левую верхнюю и правую нижнюю четверти матрицы (с указателями)
есть задача Дана матрица размера M × N (M и N — четные числа). Поменять...

Поменять верхнюю часть матрици с нижней симметрично относительно горизонтальной оси сектора матрицы
Заполните матрицу случайными числами(размерность 9х9). Отобразить симметрично...


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

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

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