Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 1
Регистрация: 11.12.2015
Сообщений: 18

Сетка и её закрашивание

27.02.2016, 22:44. Показов 4396. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1.Напишите программу, которая решает следующую задачу. В центре стандартного графического окна выводится квадратная сетка из черных линий (см. рисунок ниже). Количество ячеек в сетке задается константой, а размер ячейки вычисляется в программе по формуле: высота графического окна, деленная на количество ячеек. Вывод сетки на экран обязательно оформите отдельной процедурой. Сетка должна полностью помещаться в окне. Щелчок по ячейки левой клавишей мыши должен приводит к ее закрашиванию (например, в синий цвет), щелчок правой кнопкой мыши — к ее очищению (закрашивание в белый цвет). Щелчки по линиям сетки и за границами сетки игнорируются (не приводят к изменению цвета).
2.Предусмотрите в программе возможность закрашивать и очищать несколько ячеек. Щелчок по ячейке и удерживание левой клавиши мыши должен позволять при ее перемещении закрашивать те из них, через которые проходит указатель мыши. Щелчок по ячейке и удерживание правой клавиши мыши должен позволять при ее перемещении очищать те из них, через которые проходит указатель мыши.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2016, 22:44
Ответы с готовыми решениями:

Закрашивание
Я создал объект прямоугольник, и внутри него я нарисовал 10 прямоугольников линиями. Можно ли как-нибудь закрасить то, что внутри линий,...

Закрашивание
<?php function rndrgb($img,$color,$min,$max){ srand(); $rnd = mt_rand(150,255); switch ($color){ case "red": return...

StringGrid - закрашивание
Подсчитать количество локальных максимумов в массиве целых чисел. Локальный максимум — такой элемент массива, который больше своих соседей....

2
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
28.02.2016, 13:22
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Первая часть мармезонского балета.
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
uses graphABC;
const n=40;
var g,c:Color;
    h,x,y:integer;
procedure MouseDown(x,y,mousebutton: integer);
var k:byte;
begin
k:=0;
g:=GetPixel(x,y);
if (GetRed(g)=0)and(GetGreen(g)=0)and(GetBlue(g)=0) then k:=1;
if mousebutton=1 then c:=clRed else if mousebutton=2 then c:=clWhite;
if(x>(Window.Width-n*h) div 2)and(x<Window.Width-(Window.Width-n*h) div 2)then
 begin
  if k=1 then floodfill(x,y,clBlack)
  else floodfill(x,y,c)
 end; 
end;
var i:byte;
begin
h:=Window.Height div n;
x:=(Window.Width-n*h) div 2;
y:=1;
//pen.Width:=4;
for i:=0 to n do
 begin
  line(x+i*h,1,x+i*h,Window.Height-1);
  line(x,y+i*h,Window.Width-x,y+i*h);
 end; 
onmousedown:=MouseDown; 
end.
Добавлено через 55 минут
Вторая часть
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
uses graphABC;
const n=40;
var g,c:Color;
    h,x,y:integer;
    f:boolean=false;
procedure MouseDown(x,y,mousebutton: integer);
var k:byte;
begin
k:=0;
g:=GetPixel(x,y);
if (GetRed(g)=0)and(GetGreen(g)=0)and(GetBlue(g)=0) then k:=1;
if mousebutton=1 then c:=clRed else if mousebutton=2 then c:=clWhite;
if(x>(Window.Width-n*h) div 2)and(x<Window.Width-(Window.Width-n*h) div 2)then
 begin
  if k=1 then floodfill(x,y,clBlack)
  else floodfill(x,y,c)
 end; 
f:=true; 
end;
procedure MouseMove(x,y,mousebutton: integer);
var k:byte;
begin
if f then begin
k:=0;
g:=GetPixel(x,y);
if (GetRed(g)=0)and(GetGreen(g)=0)and(GetBlue(g)=0) then k:=1;
if mousebutton=1 then c:=clRed else if mousebutton=2 then c:=clWhite;
if(x>(Window.Width-n*h) div 2)and(x<Window.Width-(Window.Width-n*h) div 2)then
 begin
  if k=1 then floodfill(x,y,clBlack)
  else floodfill(x,y,c)
 end; 
end; 
end;
procedure MouseUp(x,y,mousebutton: integer);
begin
if mousebutton in [1,2] then f:=false;
 {begin
  x:=0;
  y:=0;
 end;} 
end;
var i:byte;
begin
h:=Window.Height div n;
x:=(Window.Width-n*h) div 2;
y:=1;
//pen.Width:=4;
for i:=0 to n do
 begin
  line(x+i*h,1,x+i*h,Window.Height-1);
  line(x,y+i*h,Window.Width-x,y+i*h);
 end; 
onmousedown:=MouseDown; 
onmousemove:=MouseMove;
onmouseup:=MouseUp;
end.
1
0 / 0 / 1
Регистрация: 11.12.2015
Сообщений: 18
28.02.2016, 21:20  [ТС]
Puporev, спс.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2016, 21:20
Помогаю со студенческими работами здесь

Закрашивание областей
как закрасить, чтобы цвет не выходила за пределы окружности

Stringgrid закрашивание
Есть 1 стока и 3 стобца. Нужно чтобы если в 3 столбце слово 'on' то тогда вся строка закрашивалась бы зеленым цветом. Как это сделать?...

Закрашивание треугольника
Не получается закрасить треугольник синим цветом. В чём ошибка?Uses crt,graph; var driver,mode,x1,x2,x3,y1,y2,y3,x,y:integer; ...

Закрашивание области
Здравствуйте!!! Помогите мне закрасить область: A:=plot(,phi=0..Pi,color=,coords=polar): B:=plot(sqrt(3)*x,x=0..2,color=green): ...

GD закрашивание пикселей
Так вообщем беру картинку, определяю цвет пикселя, и крашу в один или другой цвет. Картинка черно-белая, тоесть b=1 или 0. Код: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru