Препод сказал типо градусы в радианы перевести и подставлять там от -180 до +180,
а вначале должна быть неопределеность когда х->0 ,там нужно производную взять подставить ноль и будет 2 ну вы наверное поняли!!
вот программа
// Зайцев_2010.cpp: определяет точку входа для консольного
приложения.
//
#include "stdafx.h"
#include "math.h"
#include "stdlib.h"
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <fstream>
float func(float g)
{
float o,r;
int z;
z=2;
r=3.14/180;
if (g==0)
{
o=z*1;
}
else
{
g=g*r;
o=z*(sin (g))/g;
}
o=o/r;
return o;
}
int _tmain()
{
int m,i,p;
float s;
float masi[180][2];
float maso[180];
FILE *file;
m=-90;
for (i=0;i<181;i++) //ввод массива
{
masi[i][1]=m;
masi[i][2]=0;
printf ("%03.0f %03.0i %03.0f\n", masi[i][1], m, masi[i][2]);
m=m+1;
}
getch(); // Ожидание нажатия клавиши.
printf ("\n%f\n", " ");
for (i=0; i<181; i++) //вычисление функции
{
maso[i]=func(masi[i][1]);
printf ("%f\n", maso[i]);
}
getch();
s=maso[0];
for (i=0; i<181; i++) //поиск макс значения
{
if (maso[i]>s)
{
s=maso[i];
}
}
printf ("\n%f\n\n", s);
getch();
for (int i=0; i<181; i++) //нормирование
{
masi[i][2]=maso[i]/s;
if (masi[i][2]<-1)
{
masi[i][2]=abs(masi[i][2]);
}
printf ("%03.0f %f\n",masi[i][1], masi[i][2]);
}
getch();
//запись в файл
if ((file = fopen("Zaj2010.txt","w")) == NULL)
{
printf("File open fail\n");
}
else
{
for(int i=0; i<181;i++)
{
fprintf (file, "%03.0f " "%f\n", masi[i][1], masi[i][2]);
}
}
fclose(file);
return 0;
}
Замечание: |
Предупреждаю: если будет продолжаться шлёпанье дубликатов, то для Вас это быстро закончится баном с полным удалением всех сообщений.
Модератор |