Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 05.10.2021
Сообщений: 19

Поворот матрицы на 45 градусов по часовой стрелке

05.10.2021, 22:08. Показов 1618. Ответов 7

Студворк — интернет-сервис помощи студентам
Добрый день, никак не могу решить задачку: Решить поставленную задачу, используя средства управления вводом/выводом. Дан символьный массив S(n,n), n≤10. Вывести сначала исходный массив, а затем элементы массива в виде ромба, расположив главную диагональ вертикально. Элементы массива выводить через пробел. Вот код, но он не выводит вторую матрицу:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const n=5;
var
  a: array [1..n,1..n] of char;
  b: array [1..2*n-1,1..2*n-1] of char;
  i, j: Integer;
begin
  for i:=1 to n do for j:=1 to n do read(a[i,j]);
  WriteLn('A=');
  for i:=1 to n do begin
    for j:=1 to n do Write(a[i,j]); WriteLn;
  end;
  for i:=1 to n do for j:=1 to n do b[i+j-1,n+j-i]:=a[i,j];
  for i:=1 to 2*n-1 do begin
    for j:=1 to 2*n-1 do write(b[i,j]);
 
  end;
end.
Миниатюры
Поворот матрицы на 45 градусов по часовой стрелке  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.10.2021, 22:08
Ответы с готовыми решениями:

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

Повернуть картинку на 90 градусов по часовой стрелке
Дана картинка. Требуется повернуть ее на 90 градусов по часовой стрелке вокруг центра. Картинка представляет собой квадрат, разбитый...

Повернуть матрицу D размерности N x M на 90 градусов по часовой стрелке
Нужно написать код программы... но я со всем запутался пока писал.. Нужно выполнить любое задание из представленных на картинке...прошу...

7
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
06.10.2021, 04:36
Лучший ответ Сообщение было отмечено Kadorr как решение

Решение

В задании не сказано про формирование нового массива.
Просто исходный массив нужно вывести в виде ромба:
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
var n, r, c, l : integer; a : array [1..10, 1..10] of Char;
begin
  Read(n); for r := 1 to n do for c := 1 to n do a[r, c] := chr(ord('A') + Random(26));
  for r := 1 to n do begin for c := 1 to n do Write(#32, a[r, c]); WriteLn; end;
  WriteLn;
  for l := 1 to n do
    begin
      Write(#32:n-l+1);
      c := 1;
      for r := l downto 1 do
        begin
          Write(#32, a[r, c]); inc(c);
        end;
      WriteLn;
    end;
  for l := n-1 downto 1 do
    begin
      Write(#32:n-l+1);
      c := n-l+1;
      for r := n downto c do
        begin
          Write(#32, a[r, c]); inc(c);
        end;
      WriteLn;
    end;
end.
1
1 / 1 / 0
Регистрация: 05.10.2021
Сообщений: 19
06.10.2021, 22:26  [ТС]
Я не совсем понимаю, не затруднит ли вас с третьего бегина расписать что вы делаете?

Добавлено через 13 минут
Вернее с 6 строки
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
07.10.2021, 04:31
Начиная с шестой строки программа выводит элементы матрицы «ромбом»
0
1 / 1 / 0
Регистрация: 05.10.2021
Сообщений: 19
07.10.2021, 19:27  [ТС]
Ну это я понимаю. Мне не понятно, почему вы например используете n-1 в for, идете с downto, прибавляете к С
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
08.10.2021, 04:25
Попробуйте воспользоваться отладчиком
0
1 / 1 / 0
Регистрация: 05.10.2021
Сообщений: 19
10.10.2021, 22:27  [ТС]
Вроде все понял, кроме 8 и 18 строчки. Что значит двоеточие после #32 и зачем n-l+1 делать

Добавлено через 27 минут
А, наверное понял. Это позиция пробела после двоеточия?
0
Модератор
10430 / 5718 / 3404
Регистрация: 17.08.2012
Сообщений: 17,387
11.10.2021, 00:03
Точнее, это сколько позиций отвести под печать чего-либо, например, символа, строки, числа и так далее. Выравнивание делается по правому краю, слева это что-либо дополняется пробелами до необходимой длины. В данном случае, одинокий пробел дополняется слева n-l пробелами, и печатаются получившиеся n-l+1 пробелов. Если вдруг это что-либо не помещается в указанное количество позиций, то количество позиций игнорируется, и что-либо печатается полностью.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.10.2021, 00:03
Помогаю со студенческими работами здесь

Содержимое массива 3 на 3 повернуть на 90 градусов по часовой стрелке
Содержимое массива 3 на 3 повернуть на 90 градусов по часовой стрелке.

Повернуть квадратную матрицу на 90 градусов по часовой стрелке
повернуть квадратную матрицу размером n*n на 90 градусов по часовой стрелке

Повернуть матрицу на 90 градусов по часовой стрелке без использования второй матрицы
Дан квадратный двумерный массив, повернуть его на 90 градусов по часовой стрелке без использования второго массива. обработку и вывод...

Можно ли путём поворота элементов матрицы А по часовой стрелке на 90 градусов получить совмещение матриц А и В
Пожалуйста помогите!!!!!!!!!!!!!!!! Можно ли путём поворота элементов матрицы А по часовой стрелке на 90 градусов получить совмещение...

Осуществить поворот смежных с элементом матрицы [I,J] элементов на 90 градусов против часовой стрелки
Всем доброго времени суток. Имеется такая задача: задана матрица NхM, где 1<N<20, 1<M<40. Осуществить поворот смежных с элементом...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru