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

график функции

02.12.2010, 19:33. Показов 1520. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вот код программы:
#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;
}
программа вычисляет длину первого холма функции! как сделать так чтобы в цикле программа считала с конца и вычисляла длину последнего холма функции??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2010, 19:33
Ответы с готовыми решениями:

Перевести с Pascal вычисление функции на заданном промежутке и построить график этой функции
uses crt,graphABC; function y(x:real):real; begin if x&lt;0 then y:=x*x else if x&lt;=2.5 then...

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

График функции
В визуальном режиме написать программу, которая бы рисовала график функции y=a ln (bx + c) при...

график функции
Исследовать область определения функции и построить её график для произвольных значений параметров...

3
127 / 127 / 25
Регистрация: 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 извиняюсь
0
1 / 1 / 1
Регистрация: 07.10.2010
Сообщений: 75
02.12.2010, 23:00  [ТС] 3
a первая точка функции по оси X и b-последняя точка функции по оси X. т.е. интервал в котором расположена функция!!!h-шаг. x1, x2 это начало и конец холма. программа считает длину первого холма а мне нужно чтобы считал длину последнего холма
0
127 / 127 / 25
Регистрация: 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;
}
0
05.12.2010, 20:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2010, 20:15
Помогаю со студенческими работами здесь

График функции
Привет всем, мужики, подскажите пожалуйста идею или алгоритм построения графика функции в си, у...

График функции
Построить график функции F(x)={ -x^2+3x+9 если x&lt;=3; ...

График функции на C++
Кто может напишите пожалуйста код C++ : начертить график функции , для примера для функции x^2....

График функции
Здравствуйте! Как построить график функции такого вида: e^z-x*y*z=0? в visual studio.может есть...


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

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

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