С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 30.09.2016
Сообщений: 26

Массив: Получить матрицу Y перестановкой столбцов – первого с последним, второго с предпоследним и т. д.

03.01.2017, 20:33. Показов 1199. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет! Помогите, пожалуйста, решить задачу: Дана действительная матрица X размера 6Х9. Найти матрицу Y, получающуюся из данной перестановкой столбцов – первого с последним, второго с предпоследним и т. д.
Не получается решить, в итоге выдаёт одни лишь нули...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.01.2017, 20:33
Ответы с готовыми решениями:

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

Найти матрицу, получающуюся из данной перестановкой столбцов — первого с последним, второго с предпоследним
Прошу помочь составить простую программу в Динамике(там с выделением памяти и т.д.), до этого ни разу такого не делал. Задание: Дана...

Найти матрицу, полученную из данной перестановкой столбцов – первого с последним, второго с предпоследним...
Дана целочисленная матрица размера n-строк, m-столбцов. Найти матрицу, полученную из данной перестановкой столбцов – первого с последним,...

7
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.01.2017, 20:41
Цитата Сообщение от rastoronaa Посмотреть сообщение
матрицу Y, получающуюся из данной перестановкой столбцов
Pascal
1
2
3
4
5
6
7
8
9
10
const m=6;
      n=9;
........................
for j:=1 to n div 2 do
for i:=1 to m do
 begin
  x:=a[i,j];
  a[i,j]:=a[l,n-j+1];
  a[i,n-j+1]:=x;
 end;
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
03.01.2017, 21:31
По условию матрицы разные. Несколько иной подход:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
const m=6; n=9;
var
  x, y: array [1..m,1..n] of Integer;
...
  j:=1; k:=n;
  while j<k do begin
    for i:=1 to m do begin
      y[i,j]:=x[i,k]; y[i,k]:=x[i,j];
    end;
    Inc(j); Dec(k);
  end;
  if j=k then for i:=1 to m do y[i,j]:=x[i,j];
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
03.01.2017, 21:39
Цитата Сообщение от bormant Посмотреть сообщение
По условию матрицы разные.
так ещё проще.
"подход" (с) Puporev:

Pascal
1
2
3
4
5
6
7
8
9
10
11
const m=6; n=9;
var
  X, Y: array [1..m,1..n] of Integer;
 
  ........................
  for j:=1 to n div 2 do
     for i:=1 to m do
         begin
             Y[i,n-j+1]:=X[i,j];
             Y[i,j]:=X[l,n-j+1];
         end;
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.01.2017, 21:39
Тогда просто прочитать столбцы с конца
Pascal
1
2
3
for j:=1 to n do
for i:=1 to m do
y[i,j]:=x[i,n-j+1];
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
03.01.2017, 22:14
Sergio Leone,
Потеряли средний нечетный столбец, да?

Добавлено через 4 минуты
Проход в обратном направлении
Pascal
1
2
3
4
5
6
7
8
9
const m=6; n=9;
var
  x, y: array [1..m,1..n] of Integer;
...
  j:=1; k:=n;
  while k>0 do begin
    for i:=1 to m do y[i,j]:=x[i,k];
    Inc(j); Dec(k);
  end;
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
03.01.2017, 22:29
Цитата Сообщение от bormant Посмотреть сообщение
Потеряли средний нечетный столбец, да?
ага, есть такой грешок!

Добавлено через 3 минуты
Цитата Сообщение от bormant Посмотреть сообщение
Проход в обратном направлении
а чем не устроил вариант из #5
на мой взгляд он простой и надёжный.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
03.01.2017, 22:45
Sergio Leone,
просто альтернатива без арифметики в индексах. Другой вариант:
Pascal
1
2
3
4
  k:=n;
  for j:=1 to n do begin
    for i:=1 to m do y[i,j]:=x[i,k]; Dec(k);
  end;
Кстати, интересно было бы посмотреть, умеет ли оптимизатор справляться с упрощением арифметики в варианте из сообщения #5, но сейчас негде.

Добавлено через 7 минут
Под упрощением имею в виду вынос вычисления (n-j+1) из внутреннего цикла.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.01.2017, 22:45
Помогаю со студенческими работами здесь

Преобразуйте массив перестановкой столбцов: первое с последним, второй с предпоследним
Друзья, помогите, пожалуйста решить такую задачу: Сформируйте двумерный массив М(6,5) из случайных чисел, принадлежащих отрезку от -15...

В массиве mas[n] определить сумму первого с последним, второго с предпоследним и т.д.
В массиве mas определить сумму первого с последним, второго с предпоследним и т.д. Из сумм создать новый массив и вывести его. ...

Определить суммы первого числа с последним числом, второго с предпоследним и т.д.
Задание: В массиве Y определить суммы первого числа с последним числом, второго с предпоследним и т.д. Из сумм создать новый массив и...

Массив: Получить упорядоченый массив из элементов между предпоследним и последним отрицательным элементами
6.Дан массив x вещественных чисел. Получить упорядоченый по невозрастанию массив, состоящий из чисел данного массива, находящихся между...

Дана целочисленная матрица размером n×m. Найти матрицу, полученную из данной перестановкой столбцов – первого с последни
Дана целочисленная матрица размером n×m. Найти матрицу, полученную из данной перестановкой столбцов – первого с последним, второго с...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru