0 / 0 / 0
Регистрация: 12.10.2014
Сообщений: 1
1

Есть программа, которая должна выводить график max и min функции, но она почему то не работает

20.12.2014, 01:43. Показов 831. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Program Graphik;
uses Graph;
Type T=array[1..256] of real;
gt=string[18];
var
Gd,Gm: integer;
z1,z2,z3: byte;
Procedure Grf(tc:Gt; x,y: word; z1,z2,z3: byte; Mas:T);
var
st: string[7];
sv:string [3];
ot,dy,min,max:real;
I,R: integer;
begin
setviewport (x,y,(317+x), (154+y), true);
clearviewPort;
SetBKcolor(0);
Setcolor(z1);
OutTextxy (117,5,Tc);
Line(115,3,253,3);
line(115,16,253,16);
line(115,3,115,16);
line(253,3,253,16);
line(59,19,59,146);
line(60,82,315,82);
max:=mas[1];
min:=mas[1];
for i:=2 to 256 do begin
if mas[i]> max then max:=mas[i];
if mas [i]< min then min:=mas[1];
end;
if ABS(max) > ABS(min)then begin
Dy:=ABS(max)/62;
if min<0 then ot:=-max
else ot:=min
end
else begin
Dy:=ABS(min)/62;
ot:=Min;
end;
if Max=Min then begin
Dy:=ABS(max)/62;
if min=0 then ot:=min
else ot:=0
end;
setcolor(z3);
for i:=0 to 256 do begin
if dy>0 then r:=round(mas[i+1]/dy)
else R:=0;
if R>0 Then line((i+16),81,(i+60),(81-R)) else line ((i+60),83,(i+60),(83-R))
end;
If ABS(max)>ABS(min) then dy:=ABS(max)/3;
dY:=abs(min)/3;
for i:=0 to 6 do
begin
Setcolor(z2);
if i <>3 then line(60,(145-21*i),316,(143-21*i));
if dy<>0 then  begin
str((ot+dy*i),st);
Setcolor(z1);
Outtextxy(1,(143-21*i),st);
end;
end;
for I:=1 to 25 do begin
setcolor(z2);
line((60+10*I),19,(60+10*I),145);
if (I mod 3)=0then begin
Setcolor(z1);
str((I*20), st);
Outtextxy((46+10*I),147, st);
end;
end;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2014, 01:43
Ответы с готовыми решениями:

Дан график функции, программа должна выводить в ответе попадают ли введённые координаты в заштрихованную зону или нет.
Дан график функции, программа должна выводить в ответе попадают ли введённые координаты в...

Не работает программа, которая должна рисовать график по точкам массива
Сама задача: Дана функция. Организовать: а) вывод таблицы значений функции в N точках ( N...

Написать программу, которая вычисляет значение выражения u = max(x,y,z)^2 - min(x,y,z)^2 / (max(x,y,z) + min(x,y,z))^2
Написать программу которая проверяет по заданным трем значениям x,y,z и вычисляет следующее...

Программа, которая должна выводить случайное число
Написал программку, которая должна выводить случайное число. Но сколько раз я не запускал...

1
Эксперт Pascal/Delphi
6807 / 4565 / 4818
Регистрация: 05.06.2014
Сообщений: 22,438
20.12.2014, 11:51 2
У вас и не было программы, а только процедура.
Не знаю, какие должны быть значения массива, который вы должны передавать в программу. При рандомном заполнении выбивает с ошибкой.
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Program Graphik;
uses
  Graph;
Type
  T=array[1..256] of real;
  gt=string[18];
var
  i,Gd,Gm: integer;
  z1,z2,z3: byte;
  mass:t;
 
Procedure Grf(tc:Gt; x,y: word; z1,z2,z3: byte; Mas:T);
var
st: string[7];
sv:string [3];
ot,dy,min,max:real;
I,R: integer;
 
begin
  setviewport (x,y,(317+x-1), (154+y), true);
  clearviewPort;
  SetBKcolor(0);
  Setcolor(z1);
  OutTextxy (117,5,Tc);
  Line(115,3,253,3);
  line(115,16,253,16);
  line(115,3,115,16);
  line(253,3,253,16);
  line(59,19,59,146);
  line(60,82,315,82);
  max:=mas[1];
  min:=mas[1];
  for i:=2 to 256 do
    begin
      if mas[i]> max then max:=mas[i];
      if mas [i]< min then min:=mas[1];
    end;
  if ABS(max) > ABS(min)then
    begin
      Dy:=ABS(max)/62;
      if min<0 then ot:=-max
      else ot:=min
    end
  else
    begin
      Dy:=ABS(min)/62;
      ot:=Min;
    end;
  if Max=Min then
    begin
      Dy:=ABS(max)/62;
      if min=0 then ot:=min
      else ot:=0
    end;
  setcolor(z3);
  for i:=0 to 256 do
    begin
      if dy>0 then r:=round(mas[i+1]/dy)
      else R:=0;
      if R>0 Then line((i+16),81,(i+60),(81-R)) else line ((i+60),83,(i+60),(83-R))
    end;
  If ABS(max)>ABS(min) then dy:=ABS(max)/3;
  dY:=abs(min)/3;
  for i:=0 to 6 do
    begin
      Setcolor(z2);
      if i <>3 then line(60,(145-21*i),316,(143-21*i));
      if dy<>0 then
        begin
          str((ot+dy*i),st);
          Setcolor(z1);
          Outtextxy(1,(143-21*i),st);
        end;
    end;
  for I:=1 to 25 do
    begin
      setcolor(z2);
      line((60+10*I),19,(60+10*I),145);
      if (I mod 3)=0 then
        begin
          Setcolor(z1);
          str((I*20), st);
          Outtextxy((46+10*I),147, st);
        end;
    end;
end;
 
begin
  for i:=1 to 256 do
    begin
//      mass[i]:=random; // массив должен быть заполнен
      write(mass[i]:6:2);
    end;
  gd:=detect;
  initgraph(gd,gm,'');
  Grf('Any string',10,10,red,green,blue,mass);
  readln;
  closegraph;
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2014, 11:51
Помогаю со студенческими работами здесь

Программа, которая должна выводить объем продаж, и заработок
Разработать программу, которая должна вводить для каждого продавца объем его продаж за последнюю...

Программа на assembler которая должна выводить все данные из .data
Доброго времени суток уважаемые форумчане! в assemblere я полный нуль. Дано мне такое задание:...

Почему не возвращаются из функции min и max?
#include&lt;iostream&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; using namespace std; template &lt;class...

По заданным значениям x, y, z вычислить значения u: u=min (x, max(y, z). Для расчета написать функции max(x, y) и min(x
По заданным значениям x, y, z вычислить значения u: u=min (x, max(y, z)). Для расчета написать...

не пойму в чем дело, программа должна работать, но она черт побери не работает :( (программа по работе с реестром)
Программа предназначена для поиска какого-нить слова по реестру и удаления ключа или раздела если в...

Программа должна добалять в конец типизированого файла min и max значения из этогоже файла
Программа должна добалять в конец типизированого файла(с числами например 1,6,35,12,72) min и max...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru