![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
P.O.L.L.Y |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
Здравствуйте!
Снова пишу вам в надежде на помощь)) Задача такова(простите, формулировала сама): есть 5 значений например A 200 B 140 C 150 D 210 F 205 Цифры взяты с бошки, но на доске было написано таким образом. Сумму этих чисел мы принимаем за 100% Нужно изобразить столбцовые диаграммы относительно этой суммы! На уроке я начала что-то делать. По мере непонимая информатик помогал, но чем больше он объяснял и че-то дописывал, тем меньше я понимала, что происходит! Он вводил новые переменные, давал им значения, что отмерял и отсчитывал, отсчитывал и отмерял...в общем...я запуталась! ![]() Хотя результат появился...доооа...информатик дал четкую установку "дороботать до конца и красиво!!!" Я сохранила у себя эту работу. Сейчас пытаюсь с ней разобраться. Проблема еще в том, что еще на уроке диаграммы "наезжали" друг на друга...это тоже нужно устранить... ах да...еще косяк: то, что было сделано на уроке, не работает на моем компе! Возникает ошибка 106!!! Вот мой код Цитата uses graph; var a:array[1..5] of real; text: array[1..5] of string; gd,gm: integer; n, i:word; s: real; x,dx,y:integer; begin readln(n); s:=0; for i:=1 to n do begin readln(text[i]); readln(a[i]); s:= s+a[i]; end; gd:=9; gm:=1; Initgraph(gd,gm,'..\bgi'); {ploskost'} Line(50,20,50,320); Line(50,320,620,320); {diagramma} for i:=1 to n do begin for i:=1 to n do begin x:=30; dx:=10; y:=round(100*a[i]/s); Rectangle(50+x*i,320-y,50+x*i+dx,320); end; readln; closegraph; end. Братцы! Умоляю! ПОМОГИТЕ!!! |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну, смотри... На форуме были примеры построения подобных диаграмм (искать по слову "гистогр*")...
Что касается твоей программы: у тебя лишний цикл (зачем 2 вложенных цикла For по одной переменной - я не понимаю) - скорее всего - опечатка, но из-за нее программа не компилируется. А по поводу ошибки #106 - это ты имеешь в виду после запуска? Значит, неправильно ввела значения (например, ввела текст там, где требовалось число) - неверный формат числа это и есть ошибка 106. Сообщение отредактировано: volvo - 15.10.2007 21:25 |
P.O.L.L.Y |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
Если честно, изучив все темы результата, я еще больше запуталась...
![]() Моя задача, я думаю, намного легче. Тем более у меня уже есть основа решения. Пожалуйста! Помогите мне ее доделать до конца!!! Просто скажите, в какой последовательности нужно вводить текст и числа, как нужно подписать диаграммы(снизу название, сверху - проценты) и как нужно их закрасить? Самое важное, можно ли каждую диаграмму закрасить по-разному, приминяя только один код прямоугольника?? |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Если тебе просто сказать, как это все сделать - то получится как раз тот код, который я выкладывал, потому как он именно и реализует простейшую гистограмму...
Если подождешь - набросаю именно то, что тебе нужно, с комментариями, но это будет чуть позже. Цитата можно ли каждую диаграмму закрасить по-разному, приминяя только один код прямоугольника Меняя цвет заливки через setfillstyle... |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
P.O.L.L.Y
Вот, посмотри, что получилось: <deleted> Сообщение отредактировано: volvo - 18.10.2007 0:10 |
P.O.L.L.Y |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
volvo
Спасибо большое! Стало уже понятнее)) Правда есть несколько вопросов... программа не запускается, выдает ошибку 3 что-то ей не нравится в gr_driver := detect; initgraph(gr_driver, gr_mode, ''); в ковычки я поставила '..\bgi' - как и всегда... все равно ошибка. поменяла gr_driver := detect; на gd:=9; gm:=1; - так тоже всегда делала в скобках initgraph(gr_driver, gr_mode, ''); соответственно на initgraph(gd, gm, '..\bgi'); и все равно ошибка! Где я могла ошибиться? ![]() |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Ну, может ты просто не поменяла в разделе описания переменных с gr_driver на gd? Хотя зачем - я не понимаю... Я дал более общую программу. И если вдруг ты не увидишь той картинки, которую увидит тот, кто запустит мою программу (без исправлений) - то извини, виновата в этом будешь только ты... У меня устанавливается режим 640*480, ты зачем-то занижаешь до 640*350... Смысл в этом какой? Сделать хуже, чем можно?
Опять же, gd это надо еще догадаться, что такое. С gr_driver проблем никаких быть не может - толкование однозначное. Опять делаем хуже, чем можно? |
P.O.L.L.Y |
![]()
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
Эхх...дело ведь не в ухудшении программы, а в том, что я ищу любые способы предотвращения ошибки...
Странно получается...вроде я все правильно указала ![]() |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата я ищу любые способы предотвращения ошибки Каким образом? Уменьшением разрешения экрана? Или заданием менее "говорящего" имени переменной? Странный способ отлова ошибок...Цитата вроде я все правильно указала Чтоб не заниматься гаданием на кофейной гуще - присоедини файлом то, что ты наисправляла. |
P.O.L.L.Y |
![]()
Сообщение
#10
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата Каким образом? Уменьшением разрешения экрана? Или заданием менее "говорящего" имени переменной? Странный способ отлова ошибок... На нынешнем уровне знания Паскаля я могу только заменить к-либо функцию другой, близкой по значению. Я расчитывала, что комп опознает ее и не укажет на ошибку...не получилось...друго варианта я не знаю... Сначала я ничего не исправляла! Пришлось ч-либо менять, когда вышла ошибка... Ну да ладно...скажите пожалуйста, как файл присоединить? простите, что надоедаю... |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Цитата Сначала я ничего не исправляла! Правда? А ничего, что сначала программа у меня отработала? Без ошибок, кстати? Пришлось ч-либо менять, когда вышла ошибка... ![]() Вот и помогай после этого людям. А они еще и говорят, что в отлаженных программах ошибки какие-то. Доделывай свою тогда... Я снимаю свой вариант с обсуждения. |
P.O.L.L.Y |
![]()
Сообщение
#12
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Женский Репутация: ![]() ![]() ![]() |
ээй! ты чего?? я не хотела тебя обидеть!
вообще-то я искала проблему в своем компе - он часто глючит! и то, что я делала на уроке приходится подгонять под мою программу(хотя она точно такая же, ну не в этом суть)...вот думала, что и в этом случаи также! и хотела спросить, где вообще ошибка может находится... Кстати ошибку я нашла)) и конечно же она была МОЕЙ(ни на минуту в этом не сомневалась ![]() исправила - увидела результат! Оооочень красиво, между прочим! Поэтому извини, если я чем-то тя обидела! Это могло произойти только случайно в порыве отчаянья))))) И СПАСИБО тебе БОЛЬШОЕ!!! Ты мне чень помог!!! ![]() ![]() ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 9:53 |