Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Turbo Pascal Вывести на экран монитора прямоугольник красного цвета http://www.cyberforum.ru/turbo-pascal/thread1167483.html
Вывести на экран монитора прямоугольник красного (Red) цвета таким образом, чтобы он плавно увеличивал свой ​​размер в два раза и наоборот, после чего процесс изменения размера прямоугольника...
Найти количество нулевых элементов матрицы, расположенных над главной диагональю Turbo Pascal
Найти кол-во нулевых элементов матрицы А(4,4), расположенных над главной диагональю. Написал программу, не запускается. В чем ошибся? var a:array of integer; i, X: integer; begin {‚ў®¤...
Turbo Pascal Выведите прямоугольник - фрагмент этой карты, с левым верхним углом в позиции R,C
У Вас в руках карта местности, представленная решеткой N*M символов. Выведите прямоугольник - фрагмент этой карты, с левым верхним углом в позиции R,C (R - номер строки, C - номер столбца) с длиной L...
Turbo Pascal Преобразовать матрицу,поменяв местами минимальное и максимальное значение в каждой строчке|cтолбце Дана мтрица размером 5х10.Преобразовать матрицу,поменяв местами минимальное и максимальное значение в каждой строчке|cтолбце.Помогите пожалуйста. http://www.cyberforum.ru/turbo-pascal/thread1167342.html
Turbo Pascal Образовать матрицу C, переписав элементы матрицы B каждой строки в обратном порядке http://www.cyberforum.ru/turbo-pascal/thread1167220.html
Const n=12; m=12; k1=-50; k2=50; Type matr =array of integer; mas = array of integer; Var a:mas; b,c:matr; i,j,min,k,r:integer; Begin {1111111111} writeln('Matrica...
Turbo Pascal Элементы строк,ближайшие к среднему значению элементов соответствующих строк
Помогите с процедурой в массиве)) Элементы строк,ближайшие к среднему значению элементов соответствующих строк
На основании данных массивов произвести вычисления по заданию. Использовать подпрограммы. Turbo Pascal
Дано: массивы A1(N1,M1), A2(N2,M2), A3(N3,M3). Вычислить X=X1+X2+X3 и Y=Y1+Y2+Y3, где X1 - минимальный элемент среди нечетных столбцов массива A1.Y1- максимальный элемент среди четных столбцов...
Turbo Pascal Вставить по одному элементу перед всеми отрицательными элементами Вставить по одному элементу перед всеми отрицательными элементами uses crt; Const dd = 51; n = 10; Type myarray = Array Of Integer; Var A : myarray; x, k, i :Integer; Const nmax = 10; http://www.cyberforum.ru/turbo-pascal/thread1167130.html
Turbo Pascal Вставить по одному элементу перед всеми элементами кратными заданному числу http://www.cyberforum.ru/turbo-pascal/thread1167044.html
Вставить по одному элементу перед всеми элементами кратными заданному числу. uses crt; const nmax=100; type Mymassiv=array of integer; procedure massiv (var a:Mymassiv;var n:byte); var...
Turbo Pascal Произвести указанные действия со стеком составить программу, которая формирует стек добавляет в него не менее 40 компонентов, а затем читает все компоненты и выводит 22,34,36,38 компоненты на экран дисплея. в качестве данных берем строку... http://www.cyberforum.ru/turbo-pascal/thread1167042.html
Puporev
Модератор
56573 / 43272 / 29915
Регистрация: 18.05.2008
Сообщений: 102,926
06.05.2014, 09:05 0

Кубик Рубика

06.05.2014, 09:05. Просмотров 1450. Ответов 5
Метки (Все метки)

Ответ

Точно рисовал, выкладывал в темах, но из-за идиотских названий некоторых тем не мог найти в поиске...
Номер 1.
Pascal
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
82
uses graph;
var x,y,w,h,i,j,x1,y1,x2,c:integer;
begin
x:=0;
initgraph(x,y,'');
randomize;
w:=getmaxX div 12;
h:=w div 3;
x:=getmaxX div 3;
y:=getmaxY div 3;
{рисуем верх}
c:=9;
for i:=0 to 2 do
 begin
  y1:=y-i*h;
  x1:=x+i*h;
  for j:=0 to 2 do
   begin
    x2:=x1+j*w;
    c:=c+1;
    if c=15 then c:=9;
    setcolor(c);
    line(x2,y1,x2+h,y1-h);
    line(x2+h,y1-h,x2+h+w,y1-h);
    line(x2+h+w,y1-h,x2+w,y1);
    line(x2,y1,x2+w,y1);
    setfillstyle(1,c);
    floodfill(x2+5,y1-2,c);
    setcolor(0);
    line(x2,y1,x2+h,y1-h);
    line(x2+h,y1-h,x2+h+w,y1-h);
    line(x2+h+w,y1-h,x2+w,y1);
    line(x2,y1,x2+w,y1);
   end;
  end;
{рисуем перед}
for i:=0 to 2 do
 begin
  y1:=y+i*w;
  x1:=x;
  for j:=0 to 2 do
   begin
    c:=c+1;
    if c=15 then c:=9;
    setcolor(c);
    rectangle(x1+j*w,y1,x1+(j+1)*w,y1+w);
    setfillstyle(1,c);
    floodfill(x1+j*w+5,y1+5,c);
    setcolor(0);
    rectangle(x1+j*w,y1,x1+(j+1)*w,y1+w);
   end;
 end;
{рисуем пр*вую сторо*у}
x:=x+3*w;
for i:=0 to 2 do
 begin
  y1:=y+i*(w);
  x1:=x;
  for j:=0 to 2 do
   begin
    x2:=x1+j*h;
    c:=c+1;
    if c=15 then c:=9;
    setcolor(c);
    line(x2,y1,x2+h,y1-h);
    line(x2+h,y1-h,x2+h,y1-h+w);
    line(x2+h,y1-h+w,x2,y1+w);
    line(x2,y1+w,x2,y1);
    setfillstyle(1,c);
    floodfill(x2+5,y1-2,c);
    setcolor(0);
    line(x2,y1,x2+h,y1-h);
    line(x2+h,y1-h,x2+h,y1-h+w);
    line(x2+h,y1-h+w,x2,y1+w);
    line(x2,y1+w,x2,y1);
    y1:=y1-h;
   end;
  end;
setcolor(2);
outtextXY(getmaxX div 2-50,getmaxY-50,'Kubik Rubika');
readln
end.
Номер 2.
Pascal
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
82
83
84
85
uses graph;
const k=0.866;{cos pi/6}
      s=0.5;{sin(pi/6)}
      cv=[9,10,12,13,14,15];{гамма цветов: синий,зеленый, красный,
                             фиолетовый, желтый, белый}
{кубик с тремя гранями}
procedure kub(x,y,d:integer);
var p:array[1..5] of pointtype;
    c:integer;
begin
{верхняя}
p[1].x:=x-round(d*k);p[1].y:=y-round(d*s);
p[2].x:=x;p[2].y:=y-round(2*d*s);
p[3].x:=x+round(d*k);p[3].y:=y-round(d*s);
p[4].x:=x;p[4].y:=y;
p[5].x:=p[1].x;p[5].y:=p[1].y;
{выбираем случайный цвет из нашей гаммы}
repeat
c:=random(16);
until c in cv;
setcolor(c);
{закрашиваем грань}
setfillstyle(1,c);
fillpoly(5,p);
{обводим толстой черной линией}
setcolor(0);
setlinestyle(0,0,3);
drawpoly(5,p);
{левая}
p[1].x:=p[1].x;p[1].y:=p[1].y;
p[2].x:=p[4].x;p[2].y:=p[4].y;
p[3].x:=p[2].x;p[3].y:=p[2].y+round(d/k);
p[4].x:=p[1].x;p[4].y:=p[1].y+round(d/k);
p[5].x:=p[1].x;p[5].y:=p[1].y;
repeat
c:=random(16);
until c in cv;
setcolor(c);
setfillstyle(1,c);
fillpoly(5,p);
setcolor(0);
setlinestyle(0,0,3);
drawpoly(5,p);
{правая}
p[1].x:=p[2].x;p[1].y:=p[2].y;
p[2].x:=x+round(d*k);p[2].y:=y-round(d*s);
p[3].x:=p[2].x;p[3].y:=p[2].y+round(d/k);
p[4].x:=p[1].x;p[4].y:=p[1].y+round(d/k);
p[5].x:=p[1].x;p[5].y:=p[1].y;
repeat
c:=random(16);
until c in cv;
setcolor(c);
setfillstyle(1,c);
fillpoly(5,p);
setcolor(0);
setlinestyle(0,0,3);
drawpoly(5,p);
end;
var x,y,i,j,l,d,w,h:integer;
begin
x:=0;
initgraph(x,y,'');
d:=50;
w:=round(d*k);
h:=round(d/k+d*s);
x:=getmaxX div 2;
y:=getmaxY div 2;
{рисуем три слоя по 3х3 кубика}
for l:=3 downto 1 do
 begin
  for i:=1 to 3 do
   begin
    for j:=1 to 3 do
    kub(x+(j-1)*w,y+(j-1)*round(d*s),d);
    x:=x-w;
    y:=y+round(d*s);
   end;
  {новые координаты начала следующего слоя}
  if odd(l) then y:=getmaxY div 2-h+round(d*s)
  else y:=getmaxY div 2-h-round(d*s);
  x:=getmaxX div 2;
 end;
readln
end.


Вернуться к обсуждению:
Кубик Рубика
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2014, 09:05

Кубик Рубика
Здравствуйте подскажите пожалуйста , хочу попробовать сделать кубика Рубика , пока стоит задача ->...

Кубик Рубика
Задача такая,из любой позиции собрать кубик Рубика за минимальное число ходов(вывести алгоритм...

кубик рубика
Нужна помощь. Никак не могу найти алгоритма. Мне нужно заштрихованный кубик передвинуть на 3 ряд...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru