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

Поменять местами элементы половин параллельных диагоналей матрицы над главной и под побочной диагоналями

04.01.2017, 08:00. Показов 971. Ответов 3

Дан двумерный целочисленный массив. Нужно поменять друг с другом выделенные красным цветом диагонали(над половиной главной диагонали и под половиной побочной).
Миниатюры
Поменять местами элементы половин параллельных диагоналей матрицы над главной и под побочной диагоналями  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2017, 08:00
Ответы с готовыми решениями:

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

Поменять зеркально местами элементы, расположенные над второстепенной и под главной диагоналями
Дано матрицу А(m,m), 1<m<11. Поменять зеркально местами элементы, расположенные над второстепенной...

Поменять зеркально местами элементы, расположенные над второстепенной и под главной диагоналями
Дано матрицу А(m,m), 1<m<11. Поменять зеркально местами элементы, расположенные над второстепенной...

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

3
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
04.01.2017, 08:33 2
Короче просто поменять симметрично горизонтальной оси верхний и нижний треугольники?
Pascal
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
uses crt;
var a:array[1..10,1..10] of integer;
    n,i,j,k,x:integer;
begin
repeat
write('Введите размер матрицы от 3 до 10 n=');
readln(n);
until n in [3..10];
randomize;
writeln('Исходная матрица');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    if(j>i)and(j<n-i+1)then a[i,j]:=10+random(50)
    else if(j<i)and(j>n-i+1) then a[i,j]:=50+random(50)
    else a[i,j]:=random(10);
    write(a[i,j]:3);
   end;
  writeln;
 end;
if odd(n) then k:=n div 2 else k:=n div 2-1;
for i:=1 to k do
for j:=i+1 to n-i do
 begin
  x:=a[i,j];
  a[i,j]:=a[n-i+1,j];
  a[n-i+1,j]:=x;
 end;
writeln('Обмен');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:3);
  writeln;
 end;
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7519 / 4383 / 2781
Регистрация: 22.11.2013
Сообщений: 12,542
Записей в блоге: 1
04.01.2017, 10:38 3
Пожалуй, все же не треугольники, а именно части параллельных диагоналей непосредственно над главной и под побочной. То есть ещё проще.
Вот тут была похожая задачка: Поменять местами элементы половин параллельных диагоналей матрицы над главной и под побочной диагоналями
(1,2)<->(n,2), (2,3)<->(n-1,3), ...
Pascal
1
2
3
4
5
6
7
procedure swp(var a, b: Integer); var t: Integer; begin t:=a; a:=b; b:=t; end;
const m=7; n=m;
var
  a: array [1..m,1..n] of Integer;
...
  i:=m div 2; if i>n then i:=n;
  for i:=i downto 1 do swp(a[i,1+i],a[1+m-i,1+i]);
0
0 / 0 / 0
Регистрация: 13.12.2016
Сообщений: 12
08.01.2017, 11:52  [ТС] 4
Да, bormant вы правы. Но я вообще в этом не смыслю помогите, пожалуйста, напишите программу нужно срочно(((
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2017, 11:52
Помогаю со студенческими работами здесь

Поменять местами элементы, расположенные над главной и побочной диагоналями с расположенными под ними
Дана матрица А(5,5). Поменять местами элементы , расположенные над главной и побочной диагоналями ...

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

Поменять местами элементы главной и побочной диагоналей матрицы
Задача 2. Дана матрица целых чисел . Поменять местами элементы главной и побочной диагоналей.

7*7 вещественный Поменять местами элементы главной и побочной диагоналей матрицы
7*7 вещественный Поменять местами элементы главной и побочной диагоналей матрицы.

Найти максимальные элементы главной и побочной диагоналей матрицы и поменять их местами
Дана матрица nxn. Найти максимальные элементы главной и побочной диагоналей матрицы и поменять их...

Поменять местами строки, содержащие минимальные элементы главной и побочной диагоналей матрицы
5. Дана матрица А. Поменять местами строки, содержащие минимальные элементы главной и побочной...


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

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

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