Oxik WAR
Новичок
|
Цитата: Dale написал 30 июня 2009 19:29 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.
помогите с оформлением...
|
Всего сообщений: 9 | Присоединился: июнь 2009 | Отправлено: 30 июня 2009 21:26 | IP
|
|
Dale
Участник
|
ponochka Например, задача с кольцом uses crt; var r1,r2:integer; begin writeln('Введите радиус 1'); readln(r1); writeln('Введите радиус 2'); readln('r2'); write('площадь кольца равна '); writeln(abs(2*pi*r1*r1-2*pi*r2*r2)); readkey; end.
Dale p:=1; for i:=1 to n do p:=p*x[i,3]; writeln(p); а куда это надо вставлять че то у меня как было неправильно так и осталось?
Вместо For i:=1 to n do for j:=1 to n do if j=3 then P:=p*x[i;j]; Вообще можете ничего не убирать, а просто написать до этого p:=1; Не заданное начальное значение - стандартная ошибка начинающих. Если все равно будет неправильно, скиньте код на форум повторно, только поставив пробелы где в квадратных скобках i (т е так: [ i ]), иначе они не отображаются (Сообщение отредактировал Dale 1 июля 2009 10:41)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 1 июля 2009 9:13 | IP
|
|
Dale
Участник
|
Arturka91 Я очень плохо разбираюсь в указателях. (Сообщение отредактировал Dale 1 июля 2009 10:25)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 1 июля 2009 9:16 | IP
|
|
Dale
Участник
|
oxxxik Ну так вперед... Создайте заготовку (любую), т.е. начните с чего-нибудь: например, создайте объекты (или объект) корабль, опишите необходимые свойства... Можете написать, какие идеи у вас есть. Я с радостью вам помогу, если вы примете участие в процессе.
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 1 июля 2009 9:22 | IP
|
|
Dale
Участник
|
Oxik WAR Без проблем... если вы определите, каким образом проверить, подходят ли координаты клетки, то есть как перебрать массив по диагоналям, если известны координаты. Надо найти некую закономерность, которая определяет, принадлежит ли клетка диагонали. Например, если клетка [1,1], то получается одна диагональ:[i,i], где i изменяется от одного до восьми. Если клетка, скажем, [2,4], то две диагонали: первая диагональ - строки от 1 до 6, столбцы от 3 до 8 , то есть [i,i+2] ну и тд В результате нужна общая закономерность, чтобы в зав. от координат клетки x и y мы могли написать f:=false; for i:=f(x,y) to f(x,y) do if mas[ f(i,x,y),f(i,x,y) ]>0 then f:=true; for i:=f(x,y) to f(x,y) do if mas[f(i,x,y),f(i,x,y]>0 then f:=true; (Кстати, если не найдется закономерность, можно использовать метод "лома" - записать для каждой клетки, что перебирать. Но в этом случае, с учетом того, что клеток у нас 8*8=64, плюс для каждой клетки от 8 до 16 комбинаций, получится примерно 320 строчек)
|
Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 1 июля 2009 9:49 | IP
|
|
enigma
Новичок
|
1) Вычислить, принадлежит ли точка M(x,y) четырехугольнику с координатами вершин A(0,4), B(−4,0) , C(0,−4), D(4,0) . 2) Вычислить длину стороны a и площадь S десятиугольника, который или вписан в окружность с радиусом R, или описан вокруг нее. 3) В одномерном массиве все положительные элементы увеличить в три раза, а все отрицательные элементы уменьшить в восемь раз. 4) В первом одномерном массиве найти все нечетные элементы, во втором одномерном массиве найти все четные элементы и из них сформировать одномерный массив. 5) В двухмерном массиве, который имеет одинаковое количество столбцов и строк, поменять местами элементы, расположенные симметрично относительно диагонали, противоположной главной. 6) Задана запись, имеющая три поля: первое – площадь нижнего основания усеченного конуса, второе – площадь верхнего основания усеченного конуса, третье – высота усеченного конуса. Найти объем и площадь всей поверхности такого усеченного конуса. 7) Задана строка текста длиной не менее двадцати символов. Определить, сколько пробелов имеется в этой строке текста. 8) Объявить какой-либо заранее созданный файл как нетипизированный и вывести все четные учетверенные слова (одно учетверенное слово равно восьми байтам) из этого файла на экран монитора. 9) Заданы два текстовых файла. Поменять содержимое этих файлов местами, при этом названия файлов должны сохраниться.
|
Всего сообщений: 1 | Присоединился: июль 2009 | Отправлено: 5 июля 2009 16:12 | IP
|
|
Arturka91
Новичок
|
Цитата: Dale написал 1 июля 2009 9:16 Arturka91 Я очень плохо разбираюсь в указателях. (Сообщение отредактировал Dale 1 июля 2009 10:25)
Ничего все равно СПАСИБО!!!
|
Всего сообщений: 5 | Присоединился: июнь 2009 | Отправлено: 6 июля 2009 9:30 | IP
|
|
ksiom
Новичок
|
enigma №4 var b1,b2:array[1..20]of integer; b3:array[1..41]of integer; i,k:integer; begin randomize; k:=1; for i:=1 to 20 do begin b1[ i ]:=1+random(99); b2[ i ]:=1+random(99); end; for i:=1 to 20 do if (b1[ i ]mod 2)<>0 then begin b3[k]:=b1[ i ]; inc(k); end; for i:=1 to 20 do if (b2[ i ]mod 2)=0 then begin b3[k]:=b2[ i ]; inc(k); end; end. (Сообщение отредактировал KMA 15 июля 2009 23:16) (Сообщение отредактировал KMA 15 июля 2009 23:25)
|
Всего сообщений: 4 | Присоединился: июль 2009 | Отправлено: 15 июля 2009 18:52 | IP
|
|
ksiom
Новичок
|
enigma №3 var b:array[1..20]of real; i:integer; begin randomize; for i:=1 to 20 do b[ i ]:=1+random(99); for i:=1 to 20 do if b[ i ]>0 then b[ i ]:=b[ i ]*3 else b[ i ]:=b[ i ] / 8; end; Если не устраивает функция div, то меняй на обычное деление, но придется изменить тип массива. KMA: читайте задание внимательно (в три раза, а не на 3 и если используете div, то div и пишите, а не деление. В задаче сказано в 8 раз, значит прямая операция деления, поэтому лучше использовать real. Извини, что поправил пост. И еще если пишешь i в квадратных кавычках, то пиши так [ i ] или [i ] или [ i] но никак не слитно все. Подробности в правилах. (Сообщение отредактировал KMA 15 июля 2009 23:24)
|
Всего сообщений: 4 | Присоединился: июль 2009 | Отправлено: 15 июля 2009 19:14 | IP
|
|
MzSpider
Новичок
|
Enigma N9 program p9; var s,s1 : string; f , f1 : text; begin assign(f,'сюда название первого фаила '); reset(f); readln(f,s); close(f); assign(f1,'сюда название второго фаила '); reset(f1); readln(f1,s1); close(f1); assign(f,'сюда название второго фаила '); rewrite(f); write(f,s); close(f); assign(f1,'сюда название первого фаила '); rewrite(f1); write(f1,s1); close(f1); end. PS тупой метод
|
Всего сообщений: 19 | Присоединился: июль 2009 | Отправлено: 19 июля 2009 8:19 | IP
|
|
|