All pastes #388956 Raw Edit

Someone

public text v1 · immutable
·published 2007-03-10 12:40 UTC
rendered paste body
Skaiciavimai.h :


#include <iostream>
using namespace std;
#include <fstream>
#include <math.h>

static double ln2 = 0.693147180559945;
class Skaic {
public:

int Redukcija();
double Teikrou(double x1, double eps1);
void Pagr_skaic();

double gx(); 
double geps(); 
double gx2();
   
int gind1(); 
int gind2(); 
int gind3(); 
double gtv_red1(int i); 
double gtv_red2(int i); 
double gtv_te1(int i); 
int git(); 
   
double gte(); 
    
void ix(double xi); 
void ix2(double xi2); 
void ieps(double epsi); 
    
void iind1(int i ); 
void iind2(int i); 
void iind3(int i);
Skaic();
~Skaic();

private:
   int ind1, ind2, ind3;
   int it, t;
   double x, x2 ;
   double eps, te;
   double tv_red2[1000];
   double tv_red1[1000];     
   double tv_te1[1000];
};
-----------------------------------

Skaiciavimai.cpp :

#include "Skaiciavimai.h"
#include "DuomRez.h"
using namespace std;

   double Skaic::gx() { return x; }
   double Skaic::geps() {return eps; }
   double Skaic::gx2() { return x2; }
   
   int Skaic::gind1() { return ind1; }
   int Skaic::gind2() {return ind2; }
   int Skaic::gind3() { return ind3; }
   double Skaic::gtv_red1(int i) {return tv_red1[i]; }
   double Skaic::gtv_red2(int i) {return tv_red2[i]; }
   double Skaic::gtv_te1(int i) {return tv_te1[i]; }
   int Skaic::git() { return it; }
   
   double Skaic::gte() {return te; }
    
   void Skaic::ix(double xi) {  x = xi; }
     void Skaic::ix2(double xi2) { x2 = xi2; }
     void Skaic::ieps(double epsi) { eps = epsi; }
    
   void Skaic::iind1(int i ) { ind1 = i; }
   void Skaic::iind2(int i) { ind2 = i; }
   void Skaic::iind3(int i) { ind3 = i; }
   Skaic::Skaic() {}
   

int Skaic::Redukcija() {
    x++;
    int t = 0;   
    while (x>=2) { x=x/2; tv_red2[ind2] = x; ind2 = ind2 +1; t++; } 
   if (t==0)  while (x<1) { x=x*2; tv_red1[ind1] = x; ind1 = ind1+1; t--;}
    
     x--;
     cout << "ind2 = " << ind2 << "ind1 = " << ind1;
     return t;
 }



double Skaic::Teikrou(double x1, double eps1) {
     double y,bn1,r,an, bn=1;
     y=x1; 
      double z = y; 
      double pi=1;
      int    k=0, n=1;
      while (fabs(z) > eps1)
        {
      bn1=bn;
         an=n*x1;
       if ( k==1) { k=0; bn=2*n+1; n=n+1;}  //k==1
          else     { k=1; bn=2;           }  //k==0
         r=an/(bn1*bn);
         pi=1/(1+pi*r);
          z=z*(pi-1);
          y=y+z; 
          tv_te1[ind3] = t*ln2+y;
          ind3 = ind3+1;
          it++;
  }
     return t*ln2+y;
    
    }

void Skaic::Pagr_skaic() {     
    bool taip = false;
    t = Redukcija();    
    te = Teikrou(x, eps);    
    cout << "[=-{-----------------------------\n";
    cout << "[=-{ Skaiciavimai atlikti!\n";
    cout << "[=-{-----------------------------\n\n";
  
    
    }


----------------------------

DuomRez.h

#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
class DuomRez {

public:
DuomRez();
~DuomRez();
void IvestiIsF(char file[]);
void IvestiIsK(double k, double l);
void TRezultatai(char TRezFailas[]);
void GRezultatai(char GRezFailas[]);

};

---------------------------------------

DuomRez.cpp

#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
class DuomRez {

public:
DuomRez();
~DuomRez();
void IvestiIsF(char file[]);
void IvestiIsK(double k, double l);
void TRezultatai(char TRezFailas[]);
void GRezultatai(char GRezFailas[]);

};


#include "DuomRez.h"
#include "Skaiciavimai.h"
Skaic* s = new Skaic();
DuomRez::DuomRez() {}


void DuomRez::IvestiIsF(char file[]) {
double fx, feps;
s->iind1(0); s->iind2(0); s->iind3(0);
if(file != NULL) {
ifstream f(file);
f >> fx >> feps;
s->ix(fx); 
s->ieps(feps);
s->ix2(fx);
f.close();
}
else 
 cout << "[=-{ Failas tuscias !\n";
  
if(s->gx2() <= -1) {
cout << "[=-{ Ivesti Duomenys yra blogi !\n";
}
else 
cout << "[=-{ Duomenys Ivesti !\n\n";


}

void DuomRez::IvestiIsK(double k, double l) {
s->iind1(0); s->iind2(0); s->iind3(0);

s->ix(k); 
s->ieps(l);
s->ix2(k);
cout << s->gx() << " " << s->geps();

if(s->gx2() <= -1)
cout << "[=-{ Ivesti Duomenys yra blogi !\n";
else 
cout << "[=-{ Duomenys Ivesti !\n\n";

} 


 void DuomRez::TRezultatai(char TrezFailas[])              
  {
    if (TrezFailas != NULL)
    { int j = 1; int k = 1; 
      
          ofstream f(TrezFailas);
          f<<"[==----------------------------+!+-----------------------------\n";
          f<<"[=-{ Tarpiniai Rezultatai: \n";
          f<<"[=-{\n";
          f<<"[=-{ Ivestas x = " << s->gx2() << "\n";
          f<<"[=-{\n";
          for (int i = 0; i < s->gind2(); i++) {
          f<<"[=-{ Redukcijos ciklas " << j << " ; Tarpiniai redukuoti x, kai ivestas x >=2 : " << s->gtv_red2(i) << "\n";
          }
          f<<"[=-{\n"; 
          for (int i = 0; i < s->gind1(); i++) {
          f<<"[=-{ Redukcijos ciklas " << j << " ; Tarpiniai redukuoti x, kai ivestas x < 1 : " << s->gtv_red1(i) << "\n";
          }
          f<<"[=-{\n";
          for (int i = 0; i < s->gind3() ; i++) {
          f<<"[=-{ Iteracijos cinklas " << j++ << " ; Teikrou algoritmo reiksmiu seka : " << s->gtv_te1(i) << "\n" ;
          }
          f<<"[==----------------------------+!+-----------------------------\n";
          f.close();
          cout << "Failo issaugojimas baigtas\n";
          cout << "[==----------------------------+!+-----------------------------\n";
          cout <<"[=-{ Tarpiniai Rezultatai: \n";
          cout << "[=-{\n";       
          cout << "[=-{ Ivestas x = " << s->gx2() << "\n";
          cout << "[=-{\n";
          for (int i = 0; i < s->gind2(); i++) {
          cout << "[=-{ Redukcijos ciklas " << k << " ; Tarpiniai redukuoti x, kai ivestas x >=2 : " << s->gtv_red2(i) << "\n";
          }
          cout << "[=-{\n";  
          for (int i = 0; i < s->gind1(); i++) {
          cout << "[=-{ Redukcijos ciklas " << k << " ; Tarpiniai redukuoti x, kai ivestas x < 1 : " << s->gtv_red1(i) << "\n";
          }
          cout << "[=-{\n";
          for (int i = 0; i < s->gind3(); i++) {
          cout << "[=-{ Iteracijos ciklas " << k++ << " ; Teikrou algoritmo reiksmiu seka : " << s->gtv_te1(i) << "\n";
          }
          cout << "[==----------------------------+!+-----------------------------\n\n";
     	 }
      
     
      else 
      cout << "Failas neisrinktas\n";
          
  }
   
  void DuomRez::GRezultatai(char rezFailas[])              
  {
    if (rezFailas != NULL)
    {
      
          ofstream f(rezFailas);
          f <<"[==----------------------------+!+-----------------------------";
          f <<"[=-{ Galutiniai Rezultatai: ";
          f <<"[=-{";
          f <<"[=-{ Ivestas x = " << s->gx2() << "\n";
          f <<"[=-{ Tikroji Ln(1+x) reiksme = " << log(1+s->gx2()) << "\n";
          f <<"[=-{ Gauta reiksme naudojant Teikrou algr. = " << s->gte();
          f <<"[=-{ Ivykusiu iteraciju skaicius = " << s->git();
          f <<"[=-{ Busimo grafiko absiciu reziu intervalas : (-1 ; " << s->gx2() << " ]";  
          f <<"[==----------------------------+!+-----------------------------\n";
          f.close();
          cout << "[=-{ Failo issaugojimas baigtas\n";
          cout <<"[==----------------------------+!+-----------------------------\n";
          cout <<"[=-{ Galutiniai Rezultatai: \n";
          cout <<"[=-{\n";
          cout <<"[=-{ Ivestas x = " << s->gx2() << "\n";
          cout <<"[=-{ Tikroji Ln(1+x) reiksme = " << log(1+s->gx2()) <<"\n";
          cout <<"[=-{ Gauta reiksme naudojant Teikrou algr. = " << s->gte() << "\n";
          cout <<"[=-{ Ivykusiu iteraciju skaicius = " << s->git() ;
          cout <<"[=-{ Busimo grafiko abscisiu reziu intervalas : (-1 ; " << s->gx2() << " ]\n";
          cout <<"[==----------------------------+!+-----------------------------\n\n";
      }
    //[=-{ Failas neisrinktas arba negalima irasyti &#65533; nurodyta vieta");
           else
          cout << "[=-{ Failas neisrinktas\n\n";
  }

--------------------------------

main.cpp :

#include "DuomRez.h"
#include "Skaiciavimai.h"
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[]) {
    ifstream f;
    int sk;
    char eil[20]; double xklav; double epsklav; 
    
    DuomRez* duom = new DuomRez();
    Skaic* skaic = new Skaic();

      while (true) {    
      while (true) {
         cout << "[=-{----------------!+!----------------\n";
         cout << "[=-{ Galimos Komandos :         ";
         cout << "[=-{----------------!+!----------------\n";
         cout << "[=-{ 1. Nuskaityti faila;              \n";
         cout << "[=-{ 2. Ivesti duom. klaviatura;       \n";
         cout << "[=-{ 3. Skaiciuoti;                    \n";
         cout << "[=-{ 4. Isvesti Tarpinius Rezultatus;  \n";
         cout << "[=-{ 5. Isvesti Galutinius Rezultatus; \n";
         cout << "[=-{ 6. Iseiti is programos.           \n";
         cout << "[=-{----------------!+!----------------\n";
         cout << "[=-{ Pasirinkite: \n\n";
         cin >> sk;
              
         
           break;
      }
      switch (sk) {
        case 1: {               
		char fpav[20];
                cout << "[=-{ Prasome ivesti duomenu failo pavadinima: \n";  
                cin >> fpav;
               
                  duom->IvestiIsF(fpav);
                  break;
            
        }
        case 2: {
         cout << "[=-{-----------------------------\n";
            cout << "[=-{ Iveskite duomenis is klaviaturos: Pirmiausia Argumenta x, tada eps !\n";
             cin >> xklav >> epsklav;
              
             duom->IvestiIsK(xklav,epsklav);
           
           
           
          cout <<"[=-{-----------------------------\n\n";
          break;
        }
        case 3: {
            skaic->Pagr_skaic();
               break;
             
           
              
            }
        case 4: {
          cout << "[=-{ Iveskite Tarpiniu Rezultatu failo varda: \n";
          cin >> eil;
         duom->TRezultatai(eil);
          
            
           break;
        }
        case 5: {
           cout << "[=-{ Iveskite Galutiniu Rezultatu failo pavadinima: \n";
            char grfpav[20]; 
            cin >> grfpav;
            duom->GRezultatai(grfpav);
         
           break;
        }   
        case 6: {
           exit(0);
          }
     
    }
  }




}