Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Обмен блоков в двумерном массиве

Автор: Irik 25.04.2007 21:11

Здравствуйте!
Не получается задачка. Вернее даже незнаю как к ней подступиться:
Дан двумерный массив целых чисел A(N,N), где N кратно трем (N=3M). Поменять 3 и 9 блоки массива (см. схему). Обмениваемые блоки отмечены серым цветом.

10 11 12
13 14 15
16 17 18

(Прим. автора : серым цветом отмечены цифры 11 и 16).

1) Поясните, пожалуйста, почему 11 и 16 - это 3 и 9 блоки массива.
2) Подскажите как этот обмен осуществить.

Спасибо.

Автор: мисс_граффити 25.04.2007 23:21

Цитата
Поясните, пожалуйста, почему 11 и 16 - это 3 и 9 блоки массива.

blink.gif
2. сделать массив не из элементов, а из блоков...
то есть создать свой тип - массив М*М, а исходный тогда будет array[1..3,1..3] of этот тип

Автор: Гость 26.04.2007 18:47

Цитата(мисс_граффити @ 25.04.2007 19:21) *

blink.gif
2. сделать массив не из элементов, а из блоков...
то есть создать свой тип - массив М*М, а исходный тогда будет array[1..3,1..3] of этот тип

Если допустить, что в задаче необходимо поменять 3 и 9 блоки(цифры 12 и 18) на 2 и 7 блоки(цифры 11 и 16) соответственно, то ведь для разных N(кратных 3) эти элементы будут иметь разные индексы. Как тут быть?

Автор: Tan 26.04.2007 22:30

Цитата
Если допустить, что в задаче необходимо поменять 3 и 9 блоки(цифры 12 и 18) на 2 и 7 блоки(цифры 11 и 16) соответственно, то ведь для разных N(кратных 3) эти элементы будут иметь разные индексы. Как тут быть?
Тут тяжело сказать, но можно просмотреть такую зависимость, что тебе надо поменять последний элемент первой строки (3й "блок") и последний элемент последней строки строки (9й "блок") на серединный элемент первой строки (2й "блок") и первый элемент последней строки (7й "блок"). Ну это только предположения, вообще спроси у преподавателя правильную формулировку, так как цель программирования не искать верное условие из непонятной формулировки, а решать задание с корректным условием.

Автор: мисс_граффити 27.04.2007 0:51

Гость, прочитай, что я написала.
У тебя будет массив не из чисел, а из блоков. Ты будешь менять блоки! Зачем нужны индексы их элементов - блоки же берутся целиком.

Автор: Irik 27.04.2007 14:49

Цитата(мисс_граффити @ 26.04.2007 20:51) *

Гость, прочитай, что я написала.
У тебя будет массив не из чисел, а из блоков. Ты будешь менять блоки! Зачем нужны индексы их элементов - блоки же берутся целиком.

Я, честно говоря, не понимаю что Вы предлагаете сделать. Вы можете объяснить поподробнее?

Автор: Гость 27.04.2007 14:54

Цитата(Tan @ 26.04.2007 18:30) *

Ну это только предположения, вообще спроси у преподавателя правильную формулировку, так как цель программирования не искать верное условие из непонятной формулировки, а решать задание с корректным условием.

Я согласна с Вами! Но я заочница и живу далеко от города, где находится ВУЗ, поэтому уточнить у препода невозможно. Поеду сдавать только уже готовую курсовую. Просто я думала, что условие вполне корректное и только я чего то недопонимаю. Думала, что кто то сталкивался с таким и им понятно о чем тут идет речь.

Автор: Lapp 27.04.2007 17:12

Irik, а ты уверена, что это полное условие? Может, сделаешь фото или скан странички?
Загадочная ситуация.. blink.gif хочется разобраться! smile.gif

Автор: Irik 27.04.2007 19:27

Цитата(Lapp @ 27.04.2007 14:12) *

Irik, а ты уверена, что это полное условие? Может, сделаешь фото или скан странички?
Загадочная ситуация.. blink.gif хочется разобраться! smile.gif




Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: Гость 14.05.2007 15:41

Решения у этой задачи нет просто потому, что условие - бессмысленный набор слов.
Вопрос, что делать, решается просто: сделай что-нибудь. Например, программку для смены местами серых элементов массива. И отметь в комментарии, что задача допускает неоднозначное толкование условия, поэтому примем, что блок соответствует элементу массива.