Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 26
1

Матрица, повернуть элементы.

21.06.2009, 15:59. Показов 892. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравстуйте, помогите пожалуйста решить задачку:Дана матрица, повернуть 8 смежных элементов матрицы на 90 градусов по часовой стрелке Помогите плиз.. Искала по форуму похожих задач не нашла Буду очень благодарна..

Добавлено через 3 часа 11 минут 15 секунд
Помогите пожалуйста.. Вся программа и не нужна, хотя бы как повернуть элементы...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2009, 15:59
Ответы с готовыми решениями:

Матрица,повернуть на четверть по часовой стрелке
В матрице А(N,N) все ее элементы повернуть на четверть по часовой стрелке и разместить их в матрице...

Дана матрица целых чисел размером 4x4. Повернуть матрицу на 90 градусов и вывести содержимое матрицы на экран
Дана матрица целых чисел размером 4x4. Повернуть матрицу на 90 градусов и вывести содержимое...

Дана квадратная матрица порядка n. Повернуть ее влево на 90°.
1 Дана квадратная матрица порядка n. Повернуть ее влево на 90°. 2 Дана строка. Заменить все...

Дана квадратная матрица. Повернуть ее на 90 градусов в + направлении (процедуры)
const n=10; Type Atr = array of integer; Procedure matrica (a:Atr); var i,j: integer;...

9
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
21.06.2009, 16:12 2
Какое значение имеет слово "смежные" элементы и в какую сторону поворачивать ?
0
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 26
21.06.2009, 16:20  [ТС] 3
Ну вот например дана матрица 5x7
1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3 3 3 3
4 4 4 4 4 4 4
5 5 5 5 5 5 5
Пользователь ввел например элемент 2;2 Должна получиться следующая:
3 2 1 1 1 1 1
3 2 1 2 2 2 2
3 2 1 3 3 3 3
4 4 4 4 4 4 4
5 5 5 5 5 5 5
Поворачивать по часовой стрелке..
0
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
21.06.2009, 16:22 4
А если например введено (1,1) то у такого элемента только 3 смежных элемента, что делать в таком случае ?
0
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 26
21.06.2009, 16:25  [ТС] 5
Ну я думала как-нибудь ограничить ввод пользователем угловых элементов..
0
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
21.06.2009, 17:13 6
Пока что только так придумал, что-то мысли не идут в голову.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Program xa;
uses
  crt;
Const
  Count=20;
type
  TMatr=array [1..Count,1..Count] of integer;
var
  matr:TMatr;
  i,j,m,n,tmpi,tmpj:integer;
  TmpMas:array [1..3] of integer;
Procedure PrintMatr(n,m:integer);
var
  i,j:integer;
begin
  for i:=1 to n do
  begin
    Writeln;
    for j:=1 to m do
      Write(matr[i,j]:5)
  end;
  Writeln;
end;
 
begin
  repeat
    clrscr;
    Writeln('VVedite Pe3mePHOCT'' Matpul/bl (NxM)');
    Write('n= ');
    readln(n);
    Write('m= ');
    readln(m);
  until (m>2) and (n>2);
  Writeln;
  Writeln('VVedite elemeHTbl matPil/bl');
  for i:=1 to n do
    for j:=1 to m do
    begin
      Write('A[',i,',',j,']=');
      readln(matr[i,j])
    end;
  repeat
    clrscr;
    Writeln('Vvedite koordinaTbl elementa');
    Write('i= ');
    readln(Tmpi);
    Write('j= ');
    Readln(tmpj);
  until (Tmpi<n) and (tmpi>1) and (tmpj<m) and (tmpj>1);
  clrscr;
  PrintMatr(n,m);
  readln;
  for j:=1 to 2 do  {3apominaem }
    TmpMas[j]:=Matr[Tmpi-1,Tmpj-1+j];
 
  Matr[Tmpi-1,tmpj+1]:=Matr[TMpi-1,Tmpj-1];
  Matr[Tmpi-1,Tmpj]:=Matr[Tmpi,Tmpj-1];
  Matr[Tmpi-1,Tmpj-1]:=Matr[Tmpi+1,Tmpj-1];
 
  Matr[Tmpi,Tmpj-1]:=Matr[Tmpi+1,Tmpj];
  Matr[Tmpi+1,Tmpj-1]:=Matr[Tmpi+1,Tmpj+1];
 
  Matr[TMpi+1,Tmpj]:=Matr[Tmpi,Tmpj+1];
  Matr[Tmpi+1,TMpj+1]:=TmpMas[2];
  Matr[Tmpi,TMpj+1]:=TmpMas[1];
  PrintMatr(n,m);
  readln
end.
1
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 26
21.06.2009, 18:17  [ТС] 7
Спасибо lexus_ilia А можно например создать переменные. Вот так например:
Pascal
1
2
a:=Tmpi-1; a1:=Tmpj-1;
b:=Tmpi+1; b1:=Tmpj+1
И дальше работать с ними следующим образом:
Pascal
1
2
3
4
5
for j:=1 to 2 do  {3apominaem }
    TmpMas[j]:=Matr[a,a1-1+j];
 
  Matr[a,b2+1]:=Matr[a,a1];
  ........
?
0
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
21.06.2009, 18:19 8
естественно, просто я не сторонник лишних переменных
1
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 26
21.06.2009, 19:37  [ТС] 9
Спасибочки Вам еще раз)))

Добавлено через 1 час 15 минут 33 секунды
lexus_ilia пытаюсь разобраться в Вашей программе, но вот возникло несколько вопросов.
Pascal
1
for j:=1 to 2 do  {3apominaem }
Почему счетчик запускается до 2-х???
Pascal
1
2
Matr[Tmpi+1,TMpj+1]:=TmpMas[2];
  Matr[Tmpi,TMpj+1]:=TmpMas[1];
И вот здесь почему меняем местами с первым и вторым элементами???
Не могли бы Вы ответить на эти вопросики...
0
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
21.06.2009, 20:38 10
Возьмите пожалуйсто листочек, напишите Вашу матрицу, выпишите все элементы которые надо поменять с их "координатами" и Вы всё поймёте.
0
21.06.2009, 20:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2009, 20:38
Помогаю со студенческими работами здесь

Дана квадратная матрица порядка M. Повернуть ее на 90 градусов в положительном направлении
Дана квадратная матрица порядка M. Повернуть ее на 90 градусов в положительном направлении....

Дана квадратная матрица порядка 2n. Повернуть ее на 270 градусов в подожительном направлении
ПОМОГИТЕ!!! Дана квадратная матрица порядка 2n. Повернуть ее на 270 градусов в подожительном...

Дана квадратная матрица порядка 2n. Повернуть ее на 180 градусов положительном направлении
Дана квадратная матрица порядка 2n. Повернуть ее на 180 градусов положительном направлении.

Дана квадратная матрица порядка M. Повернуть её на 901|1802|2703 градусов в положительном направлении.
Дана квадратная матрица порядка M. Повернуть её на 901|1802|2703 градусов в положительном...

Повернуть элементы матрицы на 90 градусов
И если не сложно, вот ещё: При помощи случайных чисел определить элементы квадратной матрицы...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru