Dany jest ciąg nieskończony:
f(x)=A/B(sinx-sinx^3+sinx^5-sinx^7+...) liczba wartości elementów sumy czytana z klawiatury
1. Stablicować funkcję dla zakresu x zdefinowanego w pliku dane.dat za pomocą: xo, xk, deltax.
2. Tablicowanie funkcji przeprowadzić w funkcji: (function). Parametry A i B zadeklarować jako zmienne globalne zadawane
z klawiatury.
3. Zapisać do pliku wynik1.dat następujące kolumny: x, f(x).
4. Zapisać do pliku wynik2.dat wartości x,f(x) dla tych argumentówx, dla których wartości iloczynu x f(x) są ujemne. 3. Rozmiar tej tablicy zadeklarować
dynamicznie..
5. Dane z pliku wynik1.dat wkleić do Excela i przedstawić funkcję na wykresie.
na taką
Dany jest ciąg nieskończony:
f(x)=A/B(x+x^3-x^5+x^7-...) liczba wartości elementów sumy czytana z klawiatury
1. Stablicować funkcję dla zakresu x zdefinowanego w pliku dane.dat za pomocą: xo, xk, deltax.
2. Tablicowanie funkcji przeprowadzić w funkcji: (function). Parametry A i B zadeklarować jako zmienne globalne zadawane
z klawiatury.
3. Zapisać do pliku wynik1.dat następujące kolumny: x, f(x).
4. Zapisać do pliku wynik2.dat wartości x,f(x) w kolejności odwrotnej niż w punkcie 3. Rozmiar tej tablicy zadeklarować
dynamicznie..
5. Dane z pliku wynik1.dat wkleić do Excela i przedstawić funkcję na wykresie.
program
Kod: Zaznacz cały
#include <iostream>
#include <math.h>
#include <fstream>
#include <cstdlib>
using namespace std;
float A,B,tr,ij,wynik=0,elementy,pot;
int main()
{
cout <<"wprowadz A:";
cin >> A ;
cout <<"wprowadz B:";
cin >> B ;
cout <<"wprowadz liczbe elementow sumy:";
cin >> elementy ;
fstream dane;
dane.open("dane.dat" ,ios::in);
string linia;int nr_linii=1;float xp,xk,dx;
while( getline(dane,linia) ){
switch(nr_linii){
case 2:xp=atof(linia.c_str());break;
case 3:xk=atof(linia.c_str());break;
case 4:dx=atof(linia.c_str());break;
}
nr_linii++;
}
for( float x =xp ; x<=xk ; x=x+dx ){
tr = sin(M_PI*x/180);
//cout <<"Sinus "<<x<<" to "<<tr;
for( int i=1 ; i<=elementy ; i++){
pot = 2*i-1;
if( i%2==0 )
wynik = wynik - pow(tr,pot);
else
wynik = wynik + pow(tr,pot);
// pow(tr,1)-pow( tr,3)+ pow( tr,5 )- pow( tr, 7)
}
//ZAD 3
fstream plik;
plik.open("wynik1.dat" ,ios::out | ios::app );
//plik << "y x" << endl;
plik <<"y="<<wynik <<" x="<< x << endl;
plik.close();
// cout <<"LOL"<<endl;
cout <<"y="<<wynik <<" x="<< x << endl;
//ZAD 4
if(x*wynik<0){
fstream wynik2;
wynik2.open("wynik2.dat" ,ios::out | ios::app );
//plik << "y x" << endl;
wynik2 <<"y="<<wynik <<" x="<< x << endl;
wynik2.close();
}
//wynik =a/b(wynik);
//cout << "Hello world!" << endl;
}
return 0;
}