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

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

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

> Универсальная гистограмма., Дописать графическую задачку
3 kilos
сообщение 4.03.2006 11:13
Сообщение #1


Новичок
*

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

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


Вобщем первоначальная задача была такова - ввести 7 чисел и получить по ним гистограмму. Программу я написал, вот её код

Код
program lab7;
uses crt, graph;
var j,k,err,x,y,y1,i,a:integer;
begin
i:=detect;
initgraph(i,j,'d:\bp\bgi');
err:=graphresult;
if err <> grOK then
writeln(grapherrormsg(Err))
else
  begin
  writeln('draiver:',getdrivername,'regim:',getModename(k));
  setcolor(15);
  x:=150;
  i:=0;
  y1:=400;
  outtext('vvedite 7 4isel A v %');
  outtextXY(110,455,'Diagramma vvedennyh zna4enii');
  rectangle(100,150,500,450);
   repeat
   y:=400;
   readln(a);
   setfillstyle(i+1,i+1);
   For
   k:=1 to a*2 do
    begin
    delay(500);
    y:=y-1;
    bar3d(x-30,y,x,y1,10,true);
    end;
   x:=x+50;
   i:=i+1;
   until i>7;
   closegraph;
   end;
   readln;
  end.


Но тут преподователь поставил мне новую задачу - пронормировать гистограмму. Зачем он это попросил? Отвечаю - программа не универсальна, т.е. если я введу например 1000, то соответствующий столбец гистограммы полезет куда-то вверх за экран. В чем заключается нормирование:

1 - Мы вводим 7 чисел, после которого находится максимальное число.
2 - Независимо какие остальные числа мы ввели, надо найти процентное соотношение этих чисел к самому максимальному числу. (т.е если максимальное число 300, то 30 - это 0.1 часть от 300)
3 - По этой процентной зависимости программа строит универсальную гистограмму. Т.Е. максимальному числу всегда будет соответствовать одна и та же высота столбца, а там уже как введем.


Вот тут и нужна мне ваша помощь, т.к. я так понял тут надо иметь дело с массивом( а с массивами я плохова-то дружу), но деревянным способом сравнивать 7 чисел - это кошмар. Еще я понял, программку наверное придется конкретно изменить smile.gif . Очень буду рад если поможете до вторника, иначе мне будет прямая угроза отчисления.
П.С. Процедуры естественно только приветствуются, иначе тут никак.

Сообщение отредактировано: 3 kilos - 4.03.2006 11:18
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 4.03.2006 11:18
Сообщение #2


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

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

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


Храни 7 чисел в массиве, далее находи номер максимального элемента, далее сортируй массив по процентному отношения относительно наибольшего элемента и выводи гастаграмму, высота каждой точки кторой будет равна процентномуотношению относиельно максимального ...


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

Сообщений в этой теме
3 kilos   Универсальная гистограмма.   4.03.2006 11:13
klem4   Храни 7 чисел в массиве, далее находи номер максим...   4.03.2006 11:18
3 kilos   Храни 7 чисел в массиве, далее находи номер макси...   4.03.2006 11:21
klem4   У нас тут не принято решать задачу полностью ... ч...   4.03.2006 11:23
3 kilos   У нас тут не принято решать задачу полностью ... ...   4.03.2006 11:27
volvo   А может ты до вторника воспользуешься поиском и вв...   4.03.2006 12:10
3 kilos   А может ты до вторника воспользуешься поиском и в...   4.03.2006 12:12
volvo   ИМЕННО для твоего случая и не будет - для него над...   4.03.2006 12:17
3 kilos   ИМЕННО для твоего случая и не будет - для него на...   4.03.2006 12:21
volvo   Значит что-то не то изменял... Эта гистограмма ДОЛ...   4.03.2006 12:34
3 kilos   Написал 2 процедуры для нахождения процентного соо...   4.03.2006 20:32
3 kilos   Вот что интересно, процентное соотношение - десяти...   5.03.2006 16:10
volvo   uses crt; type mas = array[1 .. 7] of real; var...   5.03.2006 16:28
3 kilos   volvo Преподаватель у нас просто с юмором. Сам ещ...   5.03.2006 16:36
volvo   У меня там НЕ процентное соотношение считается, а ...   8.03.2006 13:22
3 kilos   Вот собсна товарисчи вам и окончательный вариант п...   8.03.2006 15:25


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

 



- Текстовая версия 20.07.2025 18:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"