Oxik WAR
Новичок
|
пожалуйста помогите с еще одной задачей! расположить на шахматной доске случайным образом m<8 слонов так,чтобы они не угрожали друг другу.(слон бьет по диагонали).
|
Всего сообщений: 9 | Присоединился: июнь 2009 | Отправлено: 30 июня 2009 13:56 | IP
|
|
Dale
Участник
|
Arturka91 В первой здаче writeln('Введите количество элементов'); readln(col); for i:=1 to col do begin writeln('Введите ', i,' эллемент'); readln(cnucok[ i ]); end; (Сообщение отредактировал Dale 30 июня 2009 17:39)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 30 июня 2009 17:38 | IP
|
|
Dale
Участник
|
Oxik WAR , задача из той же оперы, что и с распределением студентов Один из способов решения: 1)Заполняем матрицу 8*8 нулями (типа если ноль, то клетка пуста) 2)for i:=1 to m do begin траляля end; Траляля - это определение координат для слона m. в тряляля определяем координаты: x:=random(8)+1; y:=random(8)+1; Потом проверяем, подходят ли они. (тут надо подумать, как это сделать) Итак, если на диагоналях нет слонов (т.е. все элементы равны нулю) - присваиваем элементу с координатами x,y значение m.
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 30 июня 2009 18:29 | IP
|
|
Dale
Участник
|
Lenin, как у вас дела?
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 30 июня 2009 18:48 | IP
|
|
oxxxik
Новичок
|
помогите решить задачу!!! очень срочно!!! морской бой! напечатать заготовку для игры в "морской бой",то есть расположить случайным образом 15"линейных"кораблей (1-5клеточный, 2-4клеточных, 3-3клеточных, 4-2клеточных, 5-1клеточных) на поле размером 10/10 так чтобы они не касались друг друга!
|
Всего сообщений: 3 | Присоединился: июнь 2009 | Отправлено: 30 июня 2009 19:43 | IP
|
|
Dale
Участник
|
oxxxik , очень срочно не выйдет Я бы воспользовался объектами, с ними проще Ну а вообще, можно сделать очень тупо: Расписать каждый корабль, какие у него соседние клетки (в зависимости от ориентации - вертикальной или горизонтальной), затем в цикле брать random, пока все не распределится как надо(а надо еще учесть, что не всегда корабли могут поместится, то есть нужно еще проверять и это во избежание зацикливания). Итак, выберите метод, с помощью которого вы будете делать, начните, и айда сюда просить помощи и задавать вопросы. (Сообщение отредактировал Dale 30 июня 2009 20:00)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 30 июня 2009 19:58 | IP
|
|
ponochka
Новичок
|
Dale,блин ну я не могу эту задачу сама написать,пожалуста напишите потому что я в этих делах тормаз!!!!!! пожалуйста!!!!!!!!!!!!!!!
|
Всего сообщений: 5 | Присоединился: июнь 2009 | Отправлено: 30 июня 2009 20:04 | IP
|
|
Arturka91
Новичок
|
Dale, можете объяснить как добавить сортировку методом выбора в эту программу что бы она перебирала числа и сортировала их по убыванию а одинаковые удалялись: Program Laba_10; Uses Crt; Type Ukazatel = ^S; S = Record Data : integer; Next : Ukazatel ; End; Procedure Init(Var u : Ukazatel); Var x, y : Ukazatel; Digit : integer; Begin Writeln('Введите список '); u := Nil; Writeln ('Введите элементы списка. Конец ввода 0'); Read (Digit); while Digit<>0 do Begin New(y); y^.Next := Nil; y^.Data := Digit; if u=Nil then u := y else x^.Next := y; x := y; Read(Digit); End; Writeln; End;
|
Всего сообщений: 5 | Присоединился: июнь 2009 | Отправлено: 30 июня 2009 20:33 | IP
|
|
ponochka
Новичок
|
Dale p:=1; for i:=1 to n do p:=p*x[i,3]; writeln(p); а куда это надо вставлять че то у меня как было неправильно так и осталось?
|
Всего сообщений: 5 | Присоединился: июнь 2009 | Отправлено: 30 июня 2009 21:17 | IP
|
|
oxxxik
Новичок
|
Dale давайте лучше с помощью обьектов,как вы предложили!
|
Всего сообщений: 3 | Присоединился: июнь 2009 | Отправлено: 30 июня 2009 21:19 | IP
|
|