IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на точки, горю(
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Товарищи, помогите, пожалуйста, решить следующую задачку, я подозреваю, что должна решаться с помощью Graph. Буду благодарен за любую помощь!

"Нарисовать на экране отрезок. Затем поставить n-точек таким образом, чтобы точки, попадающие на отрезок, рисовались одним цветом, другие - другим. n задается с клавиатуры"
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Вожак стада
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской
Реальное имя: кирилл

Репутация: -  1  +


В чем собственно проблема ?
•В рисовании прямой ?
•В попадании точек на прямую ?
•В рисовании точек ?
•В изминении цвета ?
Поподробней обясни что тебе надо smile.gif


--------------------
Админ наш,
Иже еси на серверах!
Да святится имя Твое,
Да приидет Unix Твой,
Да будет воля Твоя,
Как на земле , так и на небе.
Пинг наш насущный дай нам на сей день;
И прости нам счета наши, как и мы оставляем их должникам нашим;
И не введи нас во искушение виндовое,
Но избавь нас от лукавого Билли.
И да пребудет с нами сила твоя великая,
Во имя Отца-админа, Сына-Пингвина, и духа мастдайного. Админь!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Мужской
Реальное имя: Григорий

Репутация: -  0  +


Точки задаются с помощью randomize, или пользователем?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Вожак стада
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской
Реальное имя: кирилл

Репутация: -  1  +


вот набросок (n-константа ,сам измениш)

uses graph;
const
n=50; //количество пикселей
var
p:boolean;
x1,y1,x2,y2:word;
pixelsx:array[1..n] of word;
pixelsy:array[1..n] of word;
i,grd,grm:integer;
begin
grd:=detect;
initgraph(grd,grm,''); // здесь указывается путь к bgi
x1:=100; {здесь задаються кординаты линииЪ
x2:=300;
y1:=200;
y2:=100;
line(x1,y1,x2,y2);
for i:=1 to n do
begin
pixelsx[i]:=random(640);
pixelsy[i]:=random(480);
p:=(pixelsx[i]-x1)*(y2-y1)=(pixelsy[i]-y1)*(x2-x1);
if p then putpixel(pixelsx[i],pixelsy[i],green) else putpixel(pixelsx[i],pixelsy[i],red);
putpixel(pixelsx[i],pixelsy[i],green);
end;
end.


Но за Библию не принимать stop.gif так как выскакивает рунтайм ерор . Но основная часть у тебя есть

Сообщение отредактировано: mamont001 -


--------------------
Админ наш,
Иже еси на серверах!
Да святится имя Твое,
Да приидет Unix Твой,
Да будет воля Твоя,
Как на земле , так и на небе.
Пинг наш насущный дай нам на сей день;
И прости нам счета наши, как и мы оставляем их должникам нашим;
И не введи нас во искушение виндовое,
Но избавь нас от лукавого Билли.
И да пребудет с нами сила твоя великая,
Во имя Отца-админа, Сына-Пингвина, и духа мастдайного. Админь!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Для чего массивы? И эти вычисления? Ты же можешь просто цвет пикселя функцией GetPixel


uses graph;
const
n=10000;
var
p:boolean;
x,y,color:word;
i,grd,grm:integer;
begin
grd:=detect;
initgraph(grd,grm,'');
color:=red;
SetColor(color);
line(100,300,200,100);
randomize;
for i:=1 to n do begin
x:=random(640);
y:=random(480);
if GetPixel(x,y)=color then
PutPixel(x,y,white)
else
PutPixel(x,y,blue);
end;
readln;
end.



Сообщение отредактировано: Bokul -


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


no1.gif Задача имхо именно на проверку принадлежеости точки прямой. Если 2 раза в одну и туже точку на прямой попадешь то второй-то раз она уже не тем цветом закрасится ... Можно конечно еще один else if ... добавить, но думаю всетаки надо математически проверять принадлежеость.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 17:56
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name