С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
1

Вывести 25 векторов, координаты которых заданы случайным образом

22.05.2018, 08:00. Показов 1410. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста с программой. Нужно чтобы паскаль выводил 25 векторов координаты заданы рандомно. Как они должны быть расположены показано на рисунке. Попозже выложу, что мы уже сделали. А именно мы смогли сделать рандомные координаты нам помоч с выводом.
Миниатюры
Вывести 25 векторов, координаты которых заданы случайным образом  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2018, 08:00
Ответы с готовыми решениями:

Вычислить суммы А+B; C+D векторов, заданных случайным образом
добрый день! помогите мне дописать чуть -чуть программу... задание: Вычислить суммы А+B; C+D...

Модуль Graph: Нарисовать в нижней, левой четверти экрана 150 точек, выбирая координаты и цвета случайным образом
Нарисовать в нижней, левой четверти экрана 150 точек, выбирая координаты и цвета случайным образом

Заданы координаты вершин треугольника. Вывести их в порядке обхода треугольника по часовой стрелке, координаты
Заданы координаты вершин треугольника. Вывести их в порядке обхода треугольника по часовой стрелке,...

Массивы. Вывести элементы массива, размещая их там случайным образом, с задержкой в 2 секунды
Программа должна сформировать случайным образом массив из 20 целых чисел из отрезка и вывести...

24
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
22.05.2018, 08:59 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
uses graphABC;
type vect=record
           x1,y1,x2,y2:integer;
          end;
const n=25;
function Ugol(p:vect):real;
begin
if (p.x2>p.x1)and(p.y2<=p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))//I четверть
else if (p.x2>p.x1)and(p.y2>p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+2*pi//IV четверть
else if p.x2<p.x1 then  Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+pi//II-III четверти
else if p.x2=p.x1 then
 begin
  if p.y2<p.y1 then  Ugol:=pi/2//вертикально вверх
  else if p.y2>p.y1 then Ugol:=3*pi/2//вертикально вниз
  else Ugol:=0;
 end;
end;
procedure vector(p:vect);
var x3,y3,x4,y4:integer;
    u:real;
begin
line(p.x1,p.y1,p.x2,p.y2);
u:=ugol(p);
x3:=p.x2-round(20*cos(u+pi/10));
y3:=p.y2+round(20*sin(u+pi/10));
line(p.x2,p.y2,x3,y3);
x4:=p.x2-round(20*cos(u-pi/10));
y4:=p.y2+round(20*sin(u-pi/10));
line(p.x2,p.y2,x4,y4);
end;
var v:array[1..n] of vect;
    i:byte;
    x0,y0:integer;
begin
setwindowsize(560,560);
centerwindow;
x0:=50;
y0:=510;
setpenwidth(2);
line(x0,y0,550,y0);
line(x0,y0,x0,10);
setpenwidth(1);
for i:=1 to 5 do
 begin
  line(x0+100*i,y0-5,x0+100*i,y0+5);
  line(x0-5,y0-100*i,x0+5,y0-100*i);
  textout(x0+100*i-10,y0+10,inttostr(5*i));
  textout(x0-25,y0-100*i,inttostr(5*i));
 end;
randomize;
for i:=1 to n do
 begin
  v[i].x1:=51+random(480);
  v[i].y1:=10+random(500);
  v[i].x2:=51+random(180);
  v[i].y2:=10+random(500);
  vector(v[i]);
 end;
end.
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
22.05.2018, 10:48  [ТС] 3
Надо чтобы было 5 векторов в ряду, всего 5 рядов. Векторы не должны пересекаться. Как на рисунке показано. Оси не обьязательно.

Добавлено через 2 минуты
Но спасибо огромное за то что помогли.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
22.05.2018, 10:49 4
В первом посте написано
Цитата Сообщение от вероник Посмотреть сообщение
Нужно чтобы паскаль выводил 25 векторов координаты заданы рандомно.
Ничего про
Цитата Сообщение от вероник Посмотреть сообщение
Надо чтобы было 5 векторов в ряду, всего 5 рядов. Векторы не должны пересекаться.
там нет. До свидания.
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
22.05.2018, 10:56  [ТС] 5
Я написала что как на рисунке. На рисунке показано. Всего доброго.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
22.05.2018, 11:41 6
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
uses graphABC;
type vect=record
           x1,y1,x2,y2:integer;
          end;
const n=5;
function Ugol(p:vect):real;
begin
if (p.x2>p.x1)and(p.y2<=p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))//I четверть
else if (p.x2>p.x1)and(p.y2>p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+2*pi//IV четверть
else if p.x2<p.x1 then  Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+pi//II-III четверти
else if p.x2=p.x1 then
 begin
  if p.y2<p.y1 then  Ugol:=pi/2//вертикально вверх
  else if p.y2>p.y1 then Ugol:=3*pi/2//вертикально вниз
  else Ugol:=0;
 end;
end;
procedure vector(p:vect);
var x3,y3,x4,y4:integer;
    u:real;
begin
line(p.x1,p.y1,p.x2,p.y2);
u:=ugol(p);
x3:=p.x2-round(20*cos(u+pi/10));
y3:=p.y2+round(20*sin(u+pi/10));
line(p.x2,p.y2,x3,y3);
x4:=p.x2-round(20*cos(u-pi/10));
y4:=p.y2+round(20*sin(u-pi/10));
line(p.x2,p.y2,x4,y4);
end;
var v:array[1..n,1..n] of vect;
    i,j,k:byte;
    x,y:integer;
begin
setwindowsize(520,520);
centerwindow;
{for i:=0 to 5 do//если нужно квадратная сетка
 begin
  line(10+i*100,10,10+i*100,510);
  line(10,10+i*100,510,10+i*100);
 end; }
randomize;
y:=10;
for i:=1 to 5 do
 begin
  x:=10;
  for j:=1 to 5 do
   begin
    k:=random(2);
    if k=0 then
     begin
      v[i,j].x1:=x+5;
      v[i,j].x2:=x+95;
     end
    else
     begin
      v[i,j].x2:=x+5;
      v[i,j].x1:=x+95;
     end;
    v[i,j].y1:=y+5+random(90);
    v[i,j].y2:=y+5+random(90);
    vector(v[i,j]);
    x:=x+100;
   end;
  y:=y+100;
 end;
 
end.
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
22.05.2018, 11:41  [ТС] 7
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
86
87
88
89
90
91
92
program vecktor;
 
uses  crt;
 
type
vector =record;
x1:integer;
x2:integer;
y1:integer;
y2:integer;
end;
var i,k,n,m:integer; pole:array[1..25] of vector;
begin
 
// координата Х1
for k:=0 to 4 do
for i:=1 to 5 do
begin
pole[i].x1:= random(5)+5*k+1;
write (pole[i].x1, ' ');
end;
 
n:=0;
write;
 
writeln;
//координаты Х2
 
for k:=0 to 4 do
for i:=1 to 5 do
begin
pole[i].x2:= random(5)+5*k+1;
write (pole[i].x2, ' ');
end;
 
n:=0;
write;
 
 
writeln;
//координата Y1
 
 for k:=0 to 4 do
for i:=1 to 5 do
begin
pole[i].y1:= random(5)+5*k+1;
write (pole[i].y1, ' ');
end;
 
n:=0;
write;
writeln;
 
 
//координата Y2
 
for k:=0 to 4 do
for i:=1 to 5 do
begin
pole[i].y2:= random(5)+5*k+1;
write (pole[i].y2, ' ');
end;
 
 
n:=0;
write;
 
 
moveto (pole[1].x1*10,pole[1].y1*10);
   {
Line(pole[1].x1*10,pole[1].y1*10, pole[1].x2*10,pole[1].y2*10);
 
Line(pole[2].x1*10,pole[2].y1*10, pole[2].x2*10,pole[2].y2*10);
 
Line(pole[3].x1*10,pole[3].y1*10, pole[3].x2*10,pole[3].y2*10);
 
Line(pole[4].x1*10,pole[4].y1*10, pole[4].x2*10,pole[4].y2*10);
 
Line(pole[5].x1*10,pole[5].y1*10, pole[5].x2*10,pole[5].y2*10);
 
Line(pole[6].x1*10,pole[6].y1*10, pole[6].x2*10,pole[6].y2*10);
 
Line(pole[7].x1*10,pole[7].y1*10, pole[7].x2*10,pole[7].y2*10);
 
Line(pole[8].x1*10,pole[8].y1*10, pole[8].x2*10,pole[8].y2*10);
 
Line(pole[9].x1*10,pole[9].y1*10, pole[9].x2*10,pole[9].y2*10);
 
Line(pole[10].x1*10,pole[10].y1*10, pole[10].x2*10,pole[10].y2*10);
 
}
end.
Вот, что сделали мы координаты формирует правильно. Проблема с выводом.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
22.05.2018, 11:46 8
Посмотрите мой последний код, в вашем лень разбираться, тем более что там ошибки.
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
22.05.2018, 11:48  [ТС] 9
Спасибо большое.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
22.05.2018, 11:49 10
Если что-то не поймете в коде спрашивайте.
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
22.05.2018, 12:08  [ТС] 11
А можно у вас поинтересоваться? Там же возможно внести такие изменения, что какие он данные рандомно получил он их вносит в документ а потом когда начинает рисовать он их берет из этого файла? Вы только не ругайтесь я не прошу сделать. Я хочу у вас спросить как у более опытного программиста это же возможно или очень геморойно?
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
22.05.2018, 12:18 12
Конечно можно. Там где я вычисляю координаты точек, не рисовать, а писать координаты в текстовый файл.
Pascal
1
2
3
4
5
6
7
8
9
10
11
assign(f,'koordinaty.txt');
rewrite(f);
for i:=1 to n do
 begin
............
for j:=1 to n do
 begin
//вычисляем координаты
//пишем в файл
write(f,' ',v[i,j].x1,' ',v[i,j].y1,' ',v[i,j].x2,' ',v[i,j].y2);
close(f);
А потом читаем координаты из файла и рисуем
Pascal
1
2
3
4
5
6
7
8
9
assign('koordinaty.txt');
reset(f);
for i:=1 to 5 do
for j:=1 to 5 do
 begin
  read(f,v[i,j].x1,v[i,j].y1,v[i,j].x2,v[i,j].y2);
  vector(v[i,j]);
 end;
close(f);
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
22.05.2018, 13:10  [ТС] 13
Я вас правильно поняла сюда вставлять?
На фото выделила.
Миниатюры
Вывести 25 векторов, координаты которых заданы случайным образом  
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
22.05.2018, 13:21 14
Вроде да, лучше бы текстом код выложили.

Добавлено через 3 минуты
Вообще в таком случае нужно сделать 2 программы, в первой создать файл, во второй прочитать его и нарисовать, иначе как-то глупо получается, создаем массив, пишем его в файл, обратно читаем из файла. Да и с двумя программами не очень по умному. Нафига этот файл, который создается программно?
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
22.05.2018, 13:25  [ТС] 15
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
uses graphABC;
type vect=record
           x1,y1,x2,y2:integer;
          end;
const n=5;
function Ugol(p:vect):real;
begin
if (p.x2>p.x1)and(p.y2<=p.y1) then
 Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))
else if (p.x2>p.x1)and(p.y2>p.y1)
 then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+2*pi
else if p.x2<p.x1
then  Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+pi
else if p.x2=p.x1 then
 begin
  if p.y2<p.y1 then  Ugol:=pi/2
  else if p.y2>p.y1 then Ugol:=3*pi/2
  else Ugol:=0;
 end;
end;
procedure vector(p:vect);
var x3,y3,x4,y4:integer;
    u:real;
begin
line(p.x1,p.y1,p.x2,p.y2);
u:=ugol(p);
x3:=p.x2-round(20*cos(u+pi/10));
y3:=p.y2+round(20*sin(u+pi/10));
line(p.x2,p.y2,x3,y3);
x4:=p.x2-round(20*cos(u-pi/10));
y4:=p.y2+round(20*sin(u-pi/10));
line(p.x2,p.y2,x4,y4);
end;
var v:array[1..n,1..n] of vect;
    i,j,k:byte;
    x,y:integer;
begin
setwindowsize(520,520);
centerwindow;
 assign(f,'koordinaty.txt');
rewrite(f);
randomize;
y:=10;
for i:=1 to 5 do
 begin
  x:=10;
  for j:=1 to 5 do
   begin
    k:=random(2);
    if k=0 then
     begin
      v[i,j].x1:=x+5;
      v[i,j].x2:=x+95;
     end
    else
     begin
      v[i,j].x2:=x+5;
      v[i,j].x1:=x+95;
     end;
     write(f,' ',v[i,j].x1,' ',v[i,j].y1,' ',v[i,j].x2,' ',v[i,j].y2);
close(f);
    {v[i,j].y1:=y+5+random(90);
    v[i,j].y2:=y+5+random(90);
    vector(v[i,j]);
    x:=x+100;    }
   assign('koordinaty.txt');
reset(f);
for i:=1 to 5 do
for j:=1 to 5 do
 begin
  read(f,v[i,j].x1,v[i,j].y1,v[i,j].x2,v[i,j].y2);
  vector(v[i,j]);
 end;
close(f);
   end;
   
  y:=y+100;
 end;
 
end.

Вот с вашими вставками в код, а почему у меня паскаль абс говорит что он не знает переменную f. Объявила как текст, выдает ошибки.
Зачем нужен файл - это прихоть преподавателя.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
22.05.2018, 13:46 16
Первая программа-создание файла.
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
type vect=record
           x1,y1,x2,y2:integer;
          end;
const n=5;
function Ugol(p:vect):real;
begin
if (p.x2>p.x1)and(p.y2<=p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))//I четверть
else if (p.x2>p.x1)and(p.y2>p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+2*pi//IV четверть
else if p.x2<p.x1 then  Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+pi//II-III четверти
else if p.x2=p.x1 then
 begin
  if p.y2<p.y1 then  Ugol:=pi/2//вертикально вверх
  else if p.y2>p.y1 then Ugol:=3*pi/2//вертикально вниз
  else Ugol:=0;
 end;
end;
var v:array[1..n,1..n] of vect;
    f:text;
    i,j,k:byte;
    x,y:integer;
begin
assign(f,'koordinaty.txt');//файл будет в папке с программой
rewrite(f);
randomize;
y:=10;
for i:=1 to 5 do
 begin
  x:=10;
  for j:=1 to 5 do
   begin
    k:=random(2);
    if k=0 then
     begin
      v[i,j].x1:=x+5;
      v[i,j].x2:=x+95;
     end
    else
     begin
      v[i,j].x2:=x+5;
      v[i,j].x1:=x+95;
     end;
    v[i,j].y1:=y+5+random(90);
    v[i,j].y2:=y+5+random(90);
    write(f,v[i,j].x1:4,v[i,j].y1:4,v[i,j].x2:4,v[i,j].y2:4);
    x:=x+100;
   end;
  writeln(f);
  y:=y+100;
 end;
close(f);
write('Файл с координатами koordinaty.txt создан')
end.
Вторая программа чтение файла и построение.
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
uses graphABC;
type vect=record
           x1,y1,x2,y2:integer;
          end;
const n=5;
function Ugol(p:vect):real;
begin
if (p.x2>p.x1)and(p.y2<=p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))//I четверть
else if (p.x2>p.x1)and(p.y2>p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+2*pi//IV четверть
else if p.x2<p.x1 then  Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+pi//II-III четверти
else if p.x2=p.x1 then
 begin
  if p.y2<p.y1 then  Ugol:=pi/2//вертикально вверх
  else if p.y2>p.y1 then Ugol:=3*pi/2//вертикально вниз
  else Ugol:=0;
 end;
end;
procedure vector(p:vect);
var x3,y3,x4,y4:integer;
    u:real;
begin
line(p.x1,p.y1,p.x2,p.y2);
u:=ugol(p);
x3:=p.x2-round(20*cos(u+pi/10));
y3:=p.y2+round(20*sin(u+pi/10));
line(p.x2,p.y2,x3,y3);
x4:=p.x2-round(20*cos(u-pi/10));
y4:=p.y2+round(20*sin(u-pi/10));
line(p.x2,p.y2,x4,y4);
end;
var v:array[1..n,1..n] of vect;
    f:text;
    i,j,k:byte;
    x,y:integer;
begin
assign(f,'koordinaty.txt');
reset(f);
for i:=1 to 5 do
for j:=1 to 5 do
read(f,v[i,j].x1,v[i,j].y1,v[i,j].x2,v[i,j].y2);
close(f);
setwindowsize(520,520);
centerwindow;
randomize;
y:=10;
for i:=1 to 5 do
 begin
  x:=10;
  for j:=1 to 5 do
   begin
    k:=random(2);
    if k=0 then
     begin
      v[i,j].x1:=x+5;
      v[i,j].x2:=x+95;
     end
    else
     begin
      v[i,j].x2:=x+5;
      v[i,j].x1:=x+95;
     end;
    v[i,j].y1:=y+5+random(90);
    v[i,j].y2:=y+5+random(90);
    vector(v[i,j]);
    x:=x+100;
   end;
  y:=y+100;
 end;
 
end.
Добавлено через 3 минуты
Функцию Ugol из первой программы нужно убрать.
Раз написано
const n=5, нужно в текстах программ везде 5 заменить на n.
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
22.05.2018, 13:50  [ТС] 17
Хорошо я заменю как вы сказали, а их соединить же можно?
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
22.05.2018, 13:55 18
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Да, можно.

Добавлено через 4 минуты
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
86
87
88
89
90
91
92
93
94
95
96
97
uses graphABC;
type vect=record
           x1,y1,x2,y2:integer;
          end;
const n=5;
function Ugol(p:vect):real;
begin
if (p.x2>p.x1)and(p.y2<=p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))//I четверть
else if (p.x2>p.x1)and(p.y2>p.y1) then Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+2*pi//IV четверть
else if p.x2<p.x1 then  Ugol:=arctan((p.y1-p.y2)/(p.x2-p.x1))+pi//II-III четверти
else if p.x2=p.x1 then
 begin
  if p.y2<p.y1 then  Ugol:=pi/2//вертикально вверх
  else if p.y2>p.y1 then Ugol:=3*pi/2//вертикально вниз
  else Ugol:=0;
 end;
end;
procedure vector(p:vect);
var x3,y3,x4,y4:integer;
    u:real;
begin
line(p.x1,p.y1,p.x2,p.y2);
u:=ugol(p);
x3:=p.x2-round(20*cos(u+pi/10));
y3:=p.y2+round(20*sin(u+pi/10));
line(p.x2,p.y2,x3,y3);
x4:=p.x2-round(20*cos(u-pi/10));
y4:=p.y2+round(20*sin(u-pi/10));
line(p.x2,p.y2,x4,y4);
end;
var v:array[1..n,1..n] of vect;
    f:text;
    i,j,k:byte;
    x,y:integer;
begin
assign(f,'koordinaty.txt');//файл будет в папке с программой
rewrite(f);
randomize;
y:=10;
for i:=1 to n do
 begin
  x:=10;
  for j:=1 to n do
   begin
    k:=random(2);
    if k=0 then
     begin
      v[i,j].x1:=x+5;
      v[i,j].x2:=x+95;
     end
    else
     begin
      v[i,j].x2:=x+5;
      v[i,j].x1:=x+95;
     end;
    v[i,j].y1:=y+5+random(90);
    v[i,j].y2:=y+5+random(90);
    write(f,v[i,j].x1:4,v[i,j].y1:4,v[i,j].x2:4,v[i,j].y2:4);
    x:=x+100;
   end;
  writeln(f);
  y:=y+100;
 end;
reset(f);
for i:=1 to n do
for j:=1 to n do
read(f,v[i,j].x1,v[i,j].y1,v[i,j].x2,v[i,j].y2);
close(f);
setwindowsize(520,520);
centerwindow;
randomize;
y:=10;
for i:=1 to n do
 begin
  x:=10;
  for j:=1 to n do
   begin
    k:=random(2);
    if k=0 then
     begin
      v[i,j].x1:=x+5;
      v[i,j].x2:=x+95;
     end
    else
     begin
      v[i,j].x2:=x+5;
      v[i,j].x1:=x+95;
     end;
    v[i,j].y1:=y+5+random(90);
    v[i,j].y2:=y+5+random(90);
    vector(v[i,j]);
    x:=x+100;
   end;
  y:=y+100;
 end;
 
end.
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
22.05.2018, 13:57  [ТС] 19
Спасибо вам огромное.
0
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 19
24.05.2018, 10:03  [ТС] 20
Подскажите пожалуйста зачем в коде нужны .
Pascal
1
2
3
4
5
6
7
8
y:=10;
for i:=1 to n do
 begin
  x:=10;
  for j:=1 to n do
   begin
    k:=random(2);
    if k=0 then
Почему y и x присваивать 10.

И k - для чего?
В остальном разобралась спасибо.
0
24.05.2018, 10:03
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.05.2018, 10:03
Помогаю со студенческими работами здесь

создать одномерный массив X[1..10] случайным образом.Вывести его в строку.Затем сделать циклическую перестановку
создать одномерный массив X случайным образом.Вывести его в строку.Затем сделать циклическую...

Дана матрица размером 7X7 элементов, случайным образом заполненная. Соседями элемента Aij называют элементы, Akp для которых выполняются неравенства i
Дана матрица размером 7X7 элементов, случайным образом заполненная. Соседями элемента Aij называют...

Найти скалярное произведение двух векторов, координаты которых заданы случайно
Помогите. Не понимаю, как нужно выполнять это задание даже. если не сложно выложите весь код. ...

Заданы координаты концов двух векторов, выходящих из начала координат. Найти длины этих векторов
Заданы координаты концов двух векторов, выходящих из начала координат. Найти длины этих векторов.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru