![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
-Ольга- |
![]()
Сообщение
#1
|
Гость ![]() |
помогите решить!!! есть программа, которая выводит на весь экран точки произвольного цвета. Необходимо, чтобы вместо точек выводило латинские буквы в произвольном порядке
Program L; uses graph; var i,x,y,c:integer; begin DetectGraph(x,y); InitGraph(x,y,'c:\tp7\BGI\'); for i:=1 to 5000 do begin x:=Random(640); y:=Random(480); c:=Random(15); PutPixel(x,y,c); end; readln; end. |
compiler |
![]()
Сообщение
#2
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
выводило латинские буквы в произвольном порядке если работа в текстовом режиме(модуль crt в помощь), то используй:TextColor(Color : byte) – процедура задает цвет символов Color. Сonst GoToXY(X, Y : byte) – процедура перемещает курсор к элементу экрана с заданными координатами X и Y. Если хотя бы одна координата недопустима, процедура не выполняется. и в конце работы не забудь привести терминал в порядок... если всё таки в графическом режиме(модуль graph), то OutTextXY(X, Y, 'текст'), где переменные X, Y типа Integer , а 'текст' типа String – выводит строку 'текст', начиная с точки с координатами X, Y. Сообщение отредактировано: compiler - 19.02.2008 15:51 -------------------- Спасибо!
Удачи! |
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
спасибо
![]() |
compiler |
![]()
Сообщение
#4
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
спасибо если кодировка основана на ASCII, то я б использовал следующую процедуру
![]() function getRandLet():char; * в главной программе необходимо прописывать randomize; если в код не поймешь, задавай вопросы... Сообщение отредактировано: compiler - 19.02.2008 16:14 -------------------- Спасибо!
Удачи! |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
OutTexyXY(X, Y, chr(random(26) + 65)); Сообщение отредактировано: volvo - 19.02.2008 16:13 |
-Ольга- |
![]()
Сообщение
#6
|
Гость ![]() |
СПАСИБО!!! работает! только я не поняла, что значят цифры 26 и 65....... может кто-нибудь сказать
|
-Ольга- |
![]()
Сообщение
#7
|
Гость ![]() |
только буквы теперь опять не цветные
|
compiler |
![]()
Сообщение
#8
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
СПАСИБО!!! работает! только я не поняла, что значят цифры 26 и 65....... может кто-нибудь сказать в кодировках основанных на ASCII, 65 - код первой буквы(<<A>>), а 26 - количество букв в алфавите..расмотрим функцию подробней Код function getRandLet():char; //функция возвращает символ var i:integer; //служебная переменная, хранит код символа begin i:=integer(random(52)); //в алфавите 26 букв, но есть большие и маленькие, итого 52 if i<26 then //если буква большая i:=i+65 //добавляем 65(код "A") else //буква маленькая i:=i+71; //добавляем 65(код "A") + 6(количество символов между "Z" и "a" ) getRandLet:=chr(i); //преобразовываем код в символ end; Добавлено через 2 мин. Цитата только буквы теперь опять не цветные в каком режиме ты работаешь(текстовый/графический)?Сообщение отредактировано: compiler - 19.02.2008 16:39 -------------------- Спасибо!
Удачи! |
-Ольга- |
![]()
Сообщение
#9
|
Гость ![]() |
в графическом режиме
|
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Так?
uses graph; |
-Ольга- |
![]()
Сообщение
#11
|
Гость ![]() |
Большое тебе спасибо! я не дописала до конца и мучаюсь "почему не работает?!"
|
-Ольга- |
![]()
Сообщение
#12
|
Гость ![]() |
Так это получилась программа для графического режима, а как сделать, чтобы теперь она работала для текстового режима. И как вывести в текстовом режиме буквы; что используется вместо OutTextXY(random(getmaxx),random(getmaxy),chr(c+65+byte(c>26)*6));
|
-Ольга- |
![]()
Сообщение
#13
|
Гость ![]() |
Так это получилась программа для графического режима, а как сделать, чтобы теперь она работала для текстового режима. И как вывести в текстовом режиме буквы; что используется вместо OutTextXY(random(getmaxx),random(getmaxy),chr(c+65+byte(c>26)*6));
|
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Ну, например, так:
uses crt; |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 8:35 |