Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на Pascal. Форум 2
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]
Модераторы: paradise, KMA
  

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

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]

Форум работает на скрипте © Ikonboard.com