• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Подпрограммы, процедура

  • Автор темы Автор темы NomadZ
  • Дата начала Дата начала

NomadZ

Новые
Регистрация
14 Дек 2017
Сообщения
18
Реакции
0
Баллы
0
Подпрограммы, процедура

Здравствуйте, помогите пожалуйста с написанием кода для следующей задачи на Pascal'е.
Задача:

Создать процедуру, поворачивающую в квадратном массиве matrixnn (n – нечетное) средний наибольший ромб элементов на 90 градусов против часовой стрелки.
 
Здравствуйте, помогите пожалуйста с написанием кода для следующей задачи на Pascal'е.
Задача:

Создать процедуру, поворачивающую в квадратном массиве matrixnn (n – нечетное) средний наибольший ромб элементов на 90 градусов против часовой стрелки.
Пожалуйста.
Код:
Uses CRT;

Const
 N=9;

Type
 Matrix=Array[1..N,1..N] of Integer;

Var
 A,B:Matrix;
 i,j:Byte;

Procedure Turn(var C:Matrix);
var
 k,p:Byte;
 D:Matrix;
begin
 D:=C;
 for k:=1 to (N div 2)+1 do
  for p:=1 to N do
   if (p>=(N div 2)+1-(k-1)) and (p<=(N div 2)+1+(k-1)) then
    D[N+1-p,k]:=C[k,p];
 for k:=(N div 2)+2 to N do
  for p:=1 to N do
   if (p>=k-((N div 2))) and (p<=N-(k-((N div 2)+1))) then
    D[N+1-p,k]:=C[k,p];
 C:=D;
end;

Begin
 ClrScr;
 Writeln;
 Randomize;
 for i:=1 to N do
  begin
   for j:=1 to N do
    begin
     A[i,j]:=Random(100);
     write(A[i,j]:5);
    end;
   writeln;
  end;
 Writeln;

 B:=A;
 Turn(B);
 for i:=1 to N do
  begin
   for j:=1 to N do write(B[i,j]:5);
   writeln;
  end;
 ReadKey
End.

P.S. И, пожалуйста, не надо клепать дубликаты тем в разных разделах. Хотя бы потому, что Правилами (п. 3.3) этот кросспостинг ЗАПРЕЩЁН.
Тема-дубль удалена.
 

Вложения

  • AA01.webp
    AA01.webp
    23.2 KB · Просмотры: 63
Назад
Сверху