IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача о нахождении координат просветов....
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Доброго времени суток. Столкнулся с задачкой,а как решить,к сожалению, не знаю. Нужна ваша помощь!

Собственно сама задача:

Куб состоит из n3 прозрачных и не прозрачных элементарных кубиков. Имееется ли хотябы 1 просвет по каждому из трех измерений? Если это так,вывести координаты каждого просвета.
Рекомендация: Для хранения кубика выделить 3ех мерный массив с базовым типом минимально возможного размера,так как значениями его будут только 1 и 0. При тестированиии полезно ипользовать рандомизацию случайным образом присвоить элементам 0 или 1,возможно с указанием вероятности тех или других с последующей послойной распечаткой.

И если можно,то с пояснениями основных моментов. Заранее спасибо.

ЗЫ Рекомендация была в условии.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


на вскидку:

провсет в i-ом измерении есть, если есть такое i для которого

cube[i][j][k] = 1 для j = 1,n и k = 1,n

по аналогии для j-го и k-го измерений.

ну это повторюсь на вскидку ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Чета я ничего не понял. wacko.gif Ну это наверное от того,что опыта програмирования мало.
А если всетаки поплотнее задачкой заняться,какое ваше решение? smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Все правильно: прежде, чем пытаться изложить что-то на языке программирования, следуеь то же самое изложить сперва по-русски.
просвет - это значить, если смотреть на кубик перпендикулярно грани, все кубики, находящиеся на пути взгляда (вглубь большого куба), будут прозрачными. То есть мы, рассматривая куб со стороны одной грани, видим эту грань как квадрат n*n квадратиков. Квадратик будет прозрачным только в том случае, если все квадратики, что расположены за ним по всей толщине куба вплоть до противопорложной грани, будут прозрачными. Вот и надо рассмотреть куб со всех сторон (достаточно 3 раза - по количеству пространственных измерений) и выяснить, еслть ли с каждой стороны хотя бы по одному прозрачному квадратику.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Ребят,помогите с задачкой. Скоро сдавать,а как решать я недопираю. Единственная нерешенная задача,а без неё типовой расчет не примут sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Ну тебе и так помогают, а что в это время делаешь ты?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Цитата(andriano @ 20.12.2007 17:16) *

Ну тебе и так помогают, а что в это время делаешь ты?

Зачеты сдаю\готовлюсь к ним\сдаю\готовлюсь...вот такой цикл уде 2 недели sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


И теперь ты решил немножко перераспределить обязанности, чтобы мы готовились к твоим зачетам, а ты их только сдавал?

Сообщение отредактировано: andriano -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Цитата(andriano @ 21.12.2007 8:55) *

И теперь ты решил немножко перераспределить обязанности, чтобы мы готовились к твоим зачетам, а ты их только сдавал?

Нет,я всего лишь попросил помощи у знающих людей,ибо как решить эту задачу я не представляю...А если бы я решил,как ты говориш,"перераспределить обязанности",я бы не решал предыдущие 3.

Сообщение отредактировано: El_Encarnado -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата
А если всетаки поплотнее задачкой заняться,какое ваше решение?


Цитата
Все правильно: прежде, чем пытаться изложить что-то на языке программирования, следуеь то же самое изложить сперва по-русски.
просвет - это значить, если смотреть на кубик перпендикулярно грани, все кубики, находящиеся на пути взгляда (вглубь большого куба), будут прозрачными. То есть мы, рассматривая куб со стороны одной грани, видим эту грань как квадрат n*n квадратиков. Квадратик будет прозрачным только в том случае, если все квадратики, что расположены за ним по всей толщине куба вплоть до противопорложной грани, будут прозрачными. Вот и надо рассмотреть куб со всех сторон (достаточно 3 раза - по количеству пространственных измерений) и выяснить, еслть ли с каждой стороны хотя бы по одному прозрачному квадратику.


Цитата
Ребят,помогите с задачкой. Скоро сдавать,а как решать я недопираю. Единственная нерешенная задача,а без неё типовой расчет не примут


о_О

Ты полностью проигнорировал помощь andriano, с чего вдруг тебе кто-то еще будет помогать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  -1  +


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

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

const n=5;

var
a: array [1..n,1..n,1..n] of byte;
i,j,k: integer;
vis: boolean;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
a[i,j,k]:=random(2);
writeln('Massiv posloino po osi z');
for k:=1 to n do
begin
writeln;
writeln('Sloi ',k);
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(a[i,j,k],' ');
end;
writeln;
end;
for i:=1 to n do
for j:=1 to n do
begin
vis:=true;
for k:=1 to n do
if a[i,j,k]=1 then begin vis:=false; break; end;

if vis then writeln('Prosvet v tochke [',i,',',j,',z] po osi z');
end;
for j:=1 to n do
for k:=1 to n do
begin
vis:=true;
for i:=1 to n do
if a[i,j,k]=1 then begin vis:=false; break; end;
if vis then writeln('Prosvet v tochke [x,',j,',',i,'] po osi x');
end;
for i:=1 to n do
for k:=1 to n do
begin
vis:=true;
for j:=1 to n do
if a[i,j,k]=1 then begin vis:=false; break; end;
if vis then writeln('Prosvet v tochke [',i,',y,',k,'] po osi y');
end;
readln;
end.


ЗЫ И прежде чем что-либо говорить, надо головой сначала подумать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Хохххоо smile.gif)))

Цитата
лучше б сели и подумали над задачей

Это с какой, интересно, радости?

Цитата
не думаю что когда вы учились на первом курсе у вас не было проблем

Ты считаешь, что решая за ленивых людей их проблемы, ты им помогаешь? Подумай, пожалуйста, головой. Если не сложно. Прежде, чем говорить что-либо. Ага.

лол smile.gif

Добавлено через 1 мин.
И используй, пожалуйста, тег code smile.gif

Добавлено через 1 мин.
И еще у тебя решение неправильное, кстати smile.gif

"хотябы 1 просвет по каждому из трех измерений"
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  -1  +


Кто тебе во-первых сказал, что он ленивый, если у него одна задача не получается сразу ленивым обзывать???
Даже если у меня и решение не правильное, я хоть зато пытаюсь добиться результата (хоть какого-либо), а сидеть и по предложению отписывать в каждый топик и я могу!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата
Кто тебе во-первых сказал, что он ленивый, если у него одна задача не получается сразу ленивым обзывать???

Никто не сказал. Зато два человека, klem4 и andriano, сказали достаточно много по теме. На что автор темы отреагировал как? Никак. Дайте мне код, мне некогда. Это я называю поведением ленивого человека.

Когда человеку нужно, и не лень, он просит *помощи*, а не сделать за него. Он сказал, что не может понять. Ему объясняют. Он продолжает говорить, что не может понять, и что ему вообще некогда. По-моему, достаточно прозрачно.

Где с его стороны видны хоть какие-то усилия в сторону решения задачи?

Цитата
Даже если у меня и решение не правильное, я хоть зато пытаюсь добиться результата (хоть какого-либо)

Какого именно результата? Халявного зачета без понимания решения? Или решения разжеванного, на блюдечке с голубой каемочкой?

Цитата
а сидеть и по предложению отписывать в каждый топик и я могу!

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

Добавлено через 2 мин.
М
Дальнейший оффтоп, пожалуйста, или в личку, или в жалобную книгу.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.11.2020 12:13
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name