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

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

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

 
 Ответить  Открыть новую тему 
> Строим столбцовые диаграммы!, с помощью процентного соотношения, площади и всякой лишней бурды
сообщение
Сообщение #1


Новичок
*

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

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


Здравствуйте!
Снова пишу вам в надежде на помощь))

Задача такова(простите, формулировала сама):
есть 5 значений
например
A 200
B 140
C 150
D 210
F 205
Цифры взяты с бошки, но на доске было написано таким образом.
Сумму этих чисел мы принимаем за 100%
Нужно изобразить столбцовые диаграммы относительно этой суммы!


На уроке я начала что-то делать. По мере непонимая информатик помогал, но чем больше он объяснял
и че-то дописывал, тем меньше я понимала, что происходит! Он вводил новые переменные, давал им значения, что отмерял и отсчитывал, отсчитывал и отмерял...в общем...я запуталась! mega_chok.gif
Хотя результат появился...доооа...информатик дал четкую установку "дороботать до конца и красиво!!!"
Я сохранила у себя эту работу. Сейчас пытаюсь с ней разобраться.
Проблема еще в том, что еще на уроке диаграммы "наезжали" друг на друга...это тоже нужно устранить...
ах да...еще косяк: то, что было сделано на уроке, не работает на моем компе! Возникает ошибка 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.


Братцы! Умоляю! ПОМОГИТЕ!!!

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Ну, смотри... На форуме были примеры построения подобных диаграмм (искать по слову "гистогр*")...

Что касается твоей программы: у тебя лишний цикл (зачем 2 вложенных цикла For по одной переменной - я не понимаю) - скорее всего - опечатка, но из-за нее программа не компилируется. А по поводу ошибки #106 - это ты имеешь в виду после запуска? Значит, неправильно ввела значения (например, ввела текст там, где требовалось число) - неверный формат числа это и есть ошибка 106.

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Если честно, изучив все темы результата, я еще больше запуталась... blink.gif
Моя задача, я думаю, намного легче. Тем более у меня уже есть основа решения.

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


Гость






Если тебе просто сказать, как это все сделать - то получится как раз тот код, который я выкладывал, потому как он именно и реализует простейшую гистограмму...

Если подождешь - набросаю именно то, что тебе нужно, с комментариями, но это будет чуть позже.

Цитата
можно ли каждую диаграмму закрасить по-разному, приминяя только один код прямоугольника
Меняя цвет заливки через setfillstyle...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






P.O.L.L.Y
Вот, посмотри, что получилось:

<deleted>

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

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

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


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');

и все равно ошибка! Где я могла ошибиться? blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Ну, может ты просто не поменяла в разделе описания переменных с gr_driver на gd? Хотя зачем - я не понимаю... Я дал более общую программу. И если вдруг ты не увидишь той картинки, которую увидит тот, кто запустит мою программу (без исправлений) - то извини, виновата в этом будешь только ты... У меня устанавливается режим 640*480, ты зачем-то занижаешь до 640*350... Смысл в этом какой? Сделать хуже, чем можно?

Опять же, gd это надо еще догадаться, что такое. С gr_driver проблем никаких быть не может - толкование однозначное. Опять делаем хуже, чем можно?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

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

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


Эхх...дело ведь не в ухудшении программы, а в том, что я ищу любые способы предотвращения ошибки...
Странно получается...вроде я все правильно указала mellow.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Цитата
я ищу любые способы предотвращения ошибки
Каким образом? Уменьшением разрешения экрана? Или заданием менее "говорящего" имени переменной? Странный способ отлова ошибок...

Цитата
вроде я все правильно указала
Чтоб не заниматься гаданием на кофейной гуще - присоедини файлом то, что ты наисправляла.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

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

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


Цитата
Каким образом? Уменьшением разрешения экрана? Или заданием менее "говорящего" имени переменной? Странный способ отлова ошибок...

На нынешнем уровне знания Паскаля я могу только заменить к-либо функцию другой, близкой по значению.
Я расчитывала, что комп опознает ее и не укажет на ошибку...не получилось...друго варианта я не знаю...

Сначала я ничего не исправляла!
Пришлось ч-либо менять, когда вышла ошибка...

Ну да ладно...скажите пожалуйста, как файл присоединить? простите, что надоедаю...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Цитата
Сначала я ничего не исправляла!
Пришлось ч-либо менять, когда вышла ошибка...
Правда? А ничего, что сначала программа у меня отработала? Без ошибок, кстати? dry.gif

Вот и помогай после этого людям. А они еще и говорят, что в отлаженных программах ошибки какие-то. Доделывай свою тогда... Я снимаю свой вариант с обсуждения.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Новичок
*

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

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


ээй! ты чего?? я не хотела тебя обидеть!
вообще-то я искала проблему в своем компе - он часто глючит!
и то, что я делала на уроке приходится подгонять под мою программу(хотя она точно такая же, ну не в этом суть)...вот думала, что и в этом случаи также! и хотела спросить, где вообще ошибка может находится...

Кстати ошибку я нашла)) и конечно же она была МОЕЙ(ни на минуту в этом не сомневалась smile.gif )
исправила - увидела результат! Оооочень красиво, между прочим!

Поэтому извини, если я чем-то тя обидела! Это могло произойти только случайно в порыве отчаянья)))))
И СПАСИБО тебе БОЛЬШОЕ!!! Ты мне чень помог!!! good.gif good.gif good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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