Вебмастеру

 
 
13

Программка на Си

Здравствуйте помогите пожалуйста с таким заданием на СИ:
есть поле 20х20 надо посредством массива рандомом (каждый раз новый) найти путь от самой верхней до самой нижней ячейки квадрата. Ячейка может двигаться вверх,вниз,направо,налево! Заранее благоарю!
 
 
1

Константин

  • группа: Гости
Смысл не понял, путь ? а критерии поиска ? Вы сами хоть понимаете что именно нужно сделать ?
 
 
2

Слава

  • группа: Гости
Смотрите, есть квадрад 20 на 20 заполнен,допустим, 176 символом, и надо чтобы комп рандомом заполнял пробелами путь к нижней правой ячейке!
 
 
3

Константин

  • группа: Гости
Меня в тупик ставит рендомная генерация, а вы уверены, что путь вообще
будет существовать ?
 
 
4

Слава

  • группа: Гости
да
любой путь к примеру вот так
http://http://s59.radikal.ru/i166/1002/cc/1d1565831f7e.jpg
только это массив, черное- это 176 символ, белое- пробелы! НО каждый раз путь должен быть разный!!!
 
 
5

Константин

  • группа: Гости
ну это будет не просто рендом. Вероятность что будет проход - минимальна. Рендом вам просто накидает пробелов.
Рендом это 50/50 или ноль или единица. Если у вас есть алгоритм (рендом, генерации прохода), то покажите пожалуйста
 
 
6

Слава

  • группа: Гости
в том то и дело что нету, знаю одно что рандом должн просто генерировать 1 или 2 или 3 илии 4 и на каждую цифру соответственно движение вправо,влево вниз или вверх. И знаю то что надо сделать проверку по столбцам и строкам на ходы, то есть крайняя вверхняя не может ходить вверх и так далее, но проверку я сам сделать смогу а вот ход ни очень понимаю как реализовать!
 
 
7

Константин

  • группа: Гости
рендом или 1 или 0 генерирует и никак иначе, учите теорию вероятности
 
 
8

Слава

  • группа: Гости
рандом будет генерировать 4 числа, ві неправильно поняли задание изначально поле , тоесть массив полностью забит 176 символом, а рандом будем генерировать направление движения пробела!!Только вот как это написать на Си ...увы....
 
 
9

Константин

  • группа: Гости
Ну тогда все проще у вас есть начальные координаты 0,0 к примеру. У вас есть рендом который генерирует или ноль или 1. вы снимаете со входа 2 значения (00, 01, 10, 11). Логично что у вас будет двоичная система счисления.

А дальше если движение выпало вперед, а там стенка или назад, а там стенка (ход мысли понятен ?) то генерируется снова направление. и таким образом вы дойдете, может быть до конца

Возможно я бы фильтровал движение только вперед ,налево и направо
 
 
10

Слава

  • группа: Гости
это ясно спс почти догнал, только можете пожалуйста написать фрагмент кода который возрощает опять на рандом..который идёт по сле if
(....)
 
 
11

Константин

  • группа: Гости
С синтаксисом могу напортачить ибо мой язык прогарммирования Java
int a = Random функция
int b = Random функция

int x, y - start Position

if(a ==0 & b ==0) // влево
{
// проверка корректности координат может быть такой (x = x+1) x?
x = x+1
}
if(a ==1 & b ==0) // ввправо
{
// проверка корректности координат
x = x-1
}
if(a ==0 & b ==1) // назад
{
// проверка корректности координат
y = y+1
}
if(a ==1 & b ==1) // вперед
{
// проверка корректности координат
y=y-1
}
 
 
12

Слава

  • группа: Гости
большое спасибо,всё сделал!
 
 
13

Константин

  • группа: Гости
Не за что )
 
 
Регистрация

Популярные статьи

» Mozilla Firefox: помощь и взаимоподдержка. Спрашиваем, ...
» Вопросы от новичков...
» перешли ли вы 100% на линукс без установленной параллел ...
» Ваши любимые плагины и дополнения
» Ответы на вопросы по PHP
» Какие CMS ВЫ предпочитаете - (плюсы и минусы)
» FAQ: вопросы и ответы
» Вопросы и консультации
» Другие браузеры (голосование!)
» Зарплата PHP программиста