С Новым годом! Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 9
1

Передвинуть элементы, расположенные на периметре матрицы, на одну позицию по ходу часовой стрелки

02.12.2015, 10:54. Показов 2224. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан массив A(M,N),автоматически заполненный по заранее определенному закону. Передвинуть элементы, расположенные на его периметре на одну позицию по ходу часовой стрелки. Массив в исходном и преобразованном состоянии вывести на экран.
0
Programming
Эксперт
9485 / 562 / 19
Регистрация: 12.04.2006
Сообщений: 11,671
Блог
02.12.2015, 10:54
Ответы с готовыми решениями:

Передвинуть элементы массива по периметру на одну позицию против часовой стрелки
Дан массив A(M,N),автоматически заполненный по заранее определенному закону. Передвинуть элементы,...

Смещение значений в dataGridview на одну позицию против часовой стрелки
Задали задачу : Создать таблицу со случайным количеством столбцов и строк (от 5 до 10). Все...

Осуществить циклический сдвиг на одну позицию по часовой стрелке внешних элементов матрицы
Дана целочисленная прямоугольная матрица размера m×n, заполненная случайными числами. Осуществить...

программа" аналог часов, только стрелки нужно вращать с помощью клавиатуры. Одну по часовой, другую против часовой.
нужно сделать окружность с делением, как часы. И внутри две стрелки. которые двигаются с помощью...

6
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
02.12.2015, 13:04 2
Лучший ответ Сообщение было отмечено rulevoi123 как решение

Решение

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
var
  Form1: TForm1; 
  m,n:byte;
  a:array of array of byte;
implementation
 
{$R *.lfm}
 
{ TForm1 }
//создание матрицы
procedure TForm1.Button1Click(Sender: TObject);
var i,j:byte;
begin
  val(Edit1.Text,m,i);
  if(i<>0)or(m<2)then
   begin
     showmessage('Введите количество строк целое число >1');
     Edit1.Clear;
     Edit1.Setfocus;
     exit;
   end;
  val(Edit2.Text,n,i);
  if(i<>0)or(n<2)then
   begin
     showmessage('Введите количество столбцов целое число >1');
     Edit1.Clear;
     Edit1.Setfocus;
     exit;
   end;
  Stringgrid1.ColCount:=n;
  Stringgrid1.RowCount:=m;
  Stringgrid2.ColCount:=n;
  Stringgrid2.RowCount:=m;
  Setlength(a,m,n);
  for i:=0 to m-1 do
  for j:=0 to n-1 do
  a[i,j]:=n*i+j+1;
  for i:=0 to m-1 do
  for j:=0 to n-1 do
  Stringgrid1.Cells[j,i]:=Inttostr(a[i,j]);
end;
//сдвиг периметра
procedure TForm1.Button2Click(Sender: TObject);
 var i,j,x:byte;
begin
  x:=a[0,0];
  for i:=0 to m-2 do a[i,0]:=a[i+1,0];
  for j:=0 to n-2 do a[m-1,j]:=a[m-1,j+1];
  for i:=m-1 downto 1 do a[i,n-1]:=a[i-1,n-1];
  for j:=n-1 downto 2 do a[0,j]:=a[0,j-1];
  a[0,1]:=x;
  for i:=0 to m-1 do
  for j:=0 to n-1 do
  Stringgrid2.Cells[j,i]:=Inttostr(a[i,j]);
end;
Вложения
Тип файла: rar Сдвиг периметра.rar (124.4 Кб, 7 просмотров)
1
0 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 9
02.12.2015, 18:59  [ТС] 3
Спасибо большое все работает прекрасно. Не подскажите как ввести массив с кнопки по определенному закону. А чтобы против часовой стрелки вращение сделать что нужно поменять?
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
02.12.2015, 19:24 4
Лучший ответ Сообщение было отмечено rulevoi123 как решение

Решение

Цитата Сообщение от rulevoi123 Посмотреть сообщение
как ввести массив с кнопки по определенному закону.
У меня тоже по закону
a[i,j]:=n*i+j+1;
и как ни странно по кнопке...
В другую сторону все наоборот.
1
0 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 9
02.12.2015, 19:29  [ТС] 5
Ну да, че то туплю, пока не особо разбираюсь. Спасибо.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
02.12.2015, 19:33 6
Вот так
Pascal
1
2
3
4
5
6
7
8
9
10
11
begin
  x:=a[0,0];
  for j:=0 to n-2 do a[0,j]:=a[0,j+1];
  for i:=0 to m-2 do a[i,n-1]:=a[i+1,n-1];
  for j:=m-1 downto 1 do a[m-1,j]:=a[m-1,j-1];
  for i:=m-1 downto 2 do a[i,0]:=a[i-1,0];
  a[1,0]:=x;
  for i:=0 to m-1 do
  for j:=0 to n-1 do
  Stringgrid2.Cells[j,i]:=Inttostr(a[i,j]);
end;
0
0 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 9
02.12.2015, 19:41  [ТС] 7
Спасибо. Если еще что-то добавить нужно будет,можно к Вам обратиться?
0
02.12.2015, 19:41
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
02.12.2015, 19:41
Помогаю со студенческими работами здесь

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

Как повернуть элементы матрицы на 90 градусов против часовой стрелки?
ЗАДАНИЕ: Дана матрица. Повернуть все её элементы вокруг центра на 90 градусов против часовой...

Перемещаясь против часовой стрелки, вывести все элементы матрицы по спирали
Matrix16. Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и...

Необходимо повернуть все элементы матрицы, кроме диагональных, против часовой стрелки на 90 градусов
Здравствуйте! Необходимо повернуть все элементы матрицы, кроме диагональных, против часовой стрелки...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Блоги программистов
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(шес­­­­­­­­­­­­­­­ти­б­и­т­н­ы­й асихронный счётчик с управляющим сигналом заде
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
Angular vs React vs Vue.js
BasicMan 03.01.2025
О, друзья-разработчики и просто любопытные читатели! Сегодня мы отправимся в увлекательное путешествие по миру фронтенд-разработки, и первой остановкой станет Angular – этакий строгий немецкий. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru