08 Ağustos 2013, 13:09
|
#1 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| C++ 'da Class Kullanımı
Polinomlar Üzerine Yazılmış Bir Uygulamadır. Kod: Kodu kopyalamak için üzerine çift tıklayın! //---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#ifndef POLINOM_H
#define POLINOM_H
#include <iostream>
#define MAX 20
using namespace std;
class Polinom {
public:
Polinom();
Polinom(int dizi[]);
Polinom(const Polinom &p);
void setKatsayi(int us,int deger);
void setKatsayi(int dizi[]);
int getKatsayi(int us) const;
void yazdir();
Polinom topla(Polinom p);
Polinom carp(Polinom p);
Polinom carp(int sayi);
Polinom turev();
int fonksiyon(int x);
private:
int katsayi[MAX];
};
#endif
Polinom::Polinom()
{
for(int i=0;i<MAX;i++)
{
katsayi[i]=0;
}
}
Polinom::Polinom(int dizi[])
{
for(int i=0;i<MAX;i++)
{
katsayi[i]=dizi[i];
}
}
Polinom::Polinom(const Polinom &p)
{
for(int i=0;i<MAX;i++)
{
katsayi[i]=p.getKatsayi(i);
}
}
void Polinom::setKatsayi(int us,int deger)
{
katsayi[us]=deger;
}
void Polinom::setKatsayi(int dizi[])
{
for(int i=0;i<MAX;i++)
{
katsayi[i]=dizi[i];
}
}
int Polinom::getKatsayi(int us) const
{
return katsayi[us];
}
void Polinom::yazdir()
{
int sayac=0;
for(int i=MAX-1;i>=0;i--)
{
if(katsayi[i]!=0)
{
if(sayac>0)
cout<<" + ";
cout<<katsayi[i]<<"x^"<<i;
sayac++;
}
}
if(sayac>0)
cout<<endl;
}
Polinom Polinom::topla(Polinom p)
{
Polinom pTemp;
for(int i=0;i<MAX;i++)
{
pTemp.setKatsayi(i,katsayi[i]+p.getKatsayi(i));
}
return pTemp;
}
Polinom Polinom::carp(int sayi)
{
Polinom pTemp;
for(int i=0;i<MAX;i++)
pTemp.setKatsayi(i,katsayi[i]*sayi);
return pTemp;
}
Polinom Polinom::carp(Polinom p)
{
Polinom pTemp;
for(int i=0;i<MAX;i++)
for(int j=0;j<MAX;j++)
{
if(i+j<MAX)
pTemp.setKatsayi(i+j,pTemp.getKatsayi(i+j)+katsayi[i]*p.getKatsayi(j));
}
return pTemp;
}
Polinom Polinom::turev()
{
Polinom pTemp;
pTemp.setKatsayi(MAX-1,0);
for(int i=0;i<MAX-1;i++)
{
pTemp.setKatsayi(i,katsayi[i+1]*(i+1));
}
return pTemp;
}
int Polinom::fonksiyon(int x)
{
int deger=0;
for(int i=0;i<MAX;i++)
{
int us=1;
for(int j=0;j<i;j++)
us*=x;
deger+=us*katsayi[i];
}
return deger;
}
int main(int argc, char* argv[])
{
Polinom p1;
p1.setKatsayi(2,4);
p1.setKatsayi(3,-1);
cout<<"p1 = ";
p1.yazdir();
Polinom p2;
p2.setKatsayi(4,4);
p2.setKatsayi(5,-1);
cout<<"p2 = ";
p2.yazdir();
Polinom p3(p1.topla(p2));
cout<<"p3=p1+p2, p3=";
p3.yazdir();
Polinom p4(p3.carp(2));
cout<<"p4=p3*2, p4=";
p4.yazdir();
Polinom p5(p4.carp(p3));
cout<<"p5=p4*p3, p5=";
p5.yazdir();
Polinom p6(p5.turev());
cout<<"p6=p5', p6=";
p6.yazdir();
cout<<"x=5 için p6(x)'in değeri: p6(5)="<<p6.fonksiyon(5)<<endl;
char c;
cout<<endl<<"Cikmak icin Enter'a tusuna basin.";
cin.get(c);
return 0;
}
//--------------------------------------------------------------------------- |
| |