Форум программистов, компьютерный форум CyberForum.ru

график функции - C++

Восстановить пароль Регистрация
 
максикок
1 / 1 / 0
Регистрация: 07.10.2010
Сообщений: 75
02.12.2010, 19:33     график функции #1
вот код программы:
#include <stdio.h>
#include <conio.h>
#include <math.h>
float dlina(float a,int n,float h);
void main()
{clrscr();
float a,b,h,s;
int n;
printf("vvedite a,b,h:\n");
scanf("%f%f%f",&a,&b,&h);
n=(b-a)/h+1;
s=dlina(a,n,h);
printf("\n s=%.1f",s);
getch();
}
float dlina(float a,int n,float h)
{float y[100],x,x1,x2,s;
int i,k;
for(i=1,x=a;i<=n;i++,x+=h)
y[i]=x*sin(x);
for(i=1,x=a;i<=n;i++,x+=h)
if(y[i-1]>y[i]&&y[i]<y[i+1])
{x1=x;
break;
}
for(k=i+1,x=x1+h;k<=n;k++,x+=h)
y[k]=x*sin(x);
for(k=i+1,x=x1+h;k<=n;k++,x+=h)
if(y[k-1]>y[k]&&y[k]<y[k+1])
{x2=x;
break;
}
s=fabs(x2-x1);
printf("\n x1=%.1f x2=%.1f",x1,x2);
return s;
}
программа вычисляет длину первого холма функции! как сделать так чтобы в цикле программа считала с конца и вычисляла длину последнего холма функции??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2010, 19:33     график функции
Посмотрите здесь:

График функции на C++ C++
C++ График функции
График функции C++
C++ Построить график функции
C++ График функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
вандал
126 / 126 / 1
Регистрация: 20.11.2009
Сообщений: 498
02.12.2010, 22:41     график функции #2
C++
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
float dlina(float a,int n,float h)
{
   float y[100],x,x1,x2,s;
   int i,k;
   for(i=1,x=a;i<=n;i++,x+=h)
   y[i]=x*sin(x);
   for(i=1,x=a;i<=n;i++,x+=h)
   if((y[i-1]>y[i])&&(y[i]<y[i+1]))
   {
      x1=x;
      break;
   }
   for(k=i+1,x=x1+h;k<=n;k++,x+=h)
   y[k]=x*sin(x);
   for(k=i+1,x=x1+h;k<=n;k++,x+=h)
   if((y[k-1]>y[k])&&(y[k]<y[k+1]))
   {
      break;
      x2=x;
   }
   s=fabs(x2-x1);
   printf("\n x1=%.1f x2=%.1f",x1,x2);
   return s;
}
int main()
{
   float a,b,h,s;
   int n;
   printf("vvedite a,b,h:\n");
   scanf("%f%f%f",&a,&b,&h);
   n=(b-a)/h+1;
   s=dlina(a,n,h);
   printf("\n s=%.1f",s);
   getch();
   return 0;
}
вот так твя прога выглядит в адекватной форме
там кое где нехватало скобок поэтому она вообще ничего не считала а сейчас считает но я не совсем понял что
теперь вопросы:
1)зачем нужна x2 если кроме обьявления она больше нигде не изменяется,
2) твоя функция я так понял выглядит так y[k]=x*sin(x), так что напиши что у тебя а и b (h я так понял днина синусоиды)
P.S. Вижу где изменяется x2 извиняюсь
максикок
1 / 1 / 0
Регистрация: 07.10.2010
Сообщений: 75
02.12.2010, 23:00  [ТС]     график функции #3
a первая точка функции по оси X и b-последняя точка функции по оси X. т.е. интервал в котором расположена функция!!!h-шаг. x1, x2 это начало и конец холма. программа считает длину первого холма а мне нужно чтобы считал длину последнего холма
вандал
126 / 126 / 1
Регистрация: 20.11.2009
Сообщений: 498
05.12.2010, 20:15     график функции #4
Может как-нибудь так.
непонятно зачем нужен шаг
C++
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
float dlina(float b,int n,float h)
{
   float y[100],x,x1,x2,s;
   int i,k;
   for(i=1,x=b;i<=n;i++,x-=h)
   y[i]=x*sin(x);
   for(i=1,x=b;i<=n;i++,x-=h)
   if((y[i-1]>y[i])&&(y[i]<y[i+1]))
   {
      x1=x;
      break;
   }
   for(k=i+1,x=x2-h;k<=n;k++,x-=h)
   y[k]=x*sin(x);
   for(k=i+1,x=x2-h;k<=n;k++,x-=h)
   if((y[k-1]>y[k])&&(y[k]<y[k+1]))
   {
      x2=x;
      break;
   }
   s=fabs(x2-x1);
   printf("\n x1=%.1f x2=%.1f",x1,x2);
   return s;
}
int main()
{
   float a,b,h,s;
   int n;
   printf("vvedite a,b,h:\n");
   scanf("%f%f%f",&a,&b,&h);
   n=(b-a)/h+1;
   s=dlina(b,n,h);
   printf("\n s=%.1f",s);
   getch();
   return 0;
}
Yandex
Объявления
05.12.2010, 20:15     график функции
Ответ Создать тему
Опции темы

Текущее время: 15:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru