« Önceki |

4/11/2008

Gelişmiş Polinom sınıfı :D

#include< iostream >
using namespace std;

#define SIZE 32

class Polinom{
private:
    int coefficient[SIZE];
    int exponent[SIZE];
    int numofterms;
public:
    Polinom()
    {
        int t;

        for(t=0; t< SIZE; t++)
        {
            exponent[t]=0;
            coefficient[t]=0;
        }
        numofterms=0;
    }

    Polinom operator+(Polinom &b){
        Polinom temp;
        for (int i=0;i            if (getexp(i)!=0 || getcoeff(i)!=0){
                temp.setexp(i,getexp(i));
                temp.setcoeff(i,getcoeff(i));
            }
        }
        for (i=getterm();i< SIZE;i++){
            if (b.getexp(i-getterm()-1)!=0 || b.getcoeff(i-getterm()-1)!=0){
                temp.setexp(i,b.getexp(i-getterm()-1));
                temp.setcoeff(i,b.getcoeff(i-getterm()-1));
            }
        }
        temp.setnum(getterm()+b.getterm()+1);
        return temp;
    }

    Polinom operator-(Polinom &b){
        Polinom temp;
        for (int i=0;i< getterm();i++){
            if (getexp(i)!=0 || getcoeff(i)!=0){
                temp.setexp(i,getexp(i));
                temp.setcoeff(i,getcoeff(i));
            }
        }
        for (i=getterm();i< SIZE;i++){
            if (b.getexp(i-getterm()-1)!=0 || b.getcoeff(i-getterm()-1)!=0){
                temp.setexp(i,b.getexp(i-getterm()-1));
                temp.setcoeff(i,b.getcoeff(i-getterm()-1)*(-1));
            }
        }
        temp.setnum(getterm()+b.getterm()+1);
        return temp;
    }

    Polinom operator*(Polinom &b){
        Polinom term;
        term.setnum(getterm()*b.getterm());
        for (int i=0;i< getterm();i++){
            for (int j=0;j< b.getterm();j++){
                term.setcoeff(i,(b.getcoeff(j)*getcoeff(j)));
                term.setexp(i,b.getexp(j)+getexp(j));
            }
        }
        return term;
    }

    friend ostream &operator<< (ostream &out, Polinom &b){
        b.editpoli();
        for (int i=0;i< SIZE;i++){
            if (b.getexp(i)!=0){
                if (i!=0){
                    if (b.getcoeff(i)>0)
                        out<<"+";
                }
                out<                if (b.getexp(i)!=1)
                    out< < "^"< < b.getexp(i);
            }
        }
        out< < " - "< < b.getterm();
        out< < endl;
        return out;
    }

    int getexp(int a){
        return exponent[a];
    }

    int getcoeff(int a){
        return coefficient[a];
    }

    int getterm(){
        return numofterms;
    }

    void setexp(int a, int b){
        exponent[a]=b;
    }

    void setcoeff(int a, int b){
        coefficient[a]=b;
    }

    void setnum(int a){
        numofterms=a;
    }
   
    void getpoli(){
        cout<<"Enter a term : ";
        cin>>numofterms;
        for (int i=0;i< numofterms;i++){
            cout<<"Enter "<< i<<". coefficient : ";
            cin>>coefficient[i];
            cout<<"Enter "<< i<<". exponent : ";
            cin>>exponent[i];
        }
        editpoli();
    }

    void printPoli(){
        for (int i=0;i< SIZE;i++){
            if (coefficient[i]!=0){
                if (i!=0){
                    if (coefficient[i]>0)
                        cout<<"+";
                }
                if (exponent[i]!=0)
                cout<< coefficient[i]< < "X";
                if (exponent[i]!=1)
                    cout<<"^"< < exponent[i];
            }
        }
        cout<    }
   
    void editpoli(){
        for (int i=0;i< numofterms+1;i++){
            if (coefficient[i]!=0){
                for (int j=0;j< SIZE;j++){
                    if (i!=j){
                        if (exponent[i]==exponent[j]){
                            coefficient[i]+=coefficient[j];
                            coefficient[j]=0;
                            exponent[j]=0;
                            numofterms--;
                        }
                    }
                }
            }
        }
    }

};

int main(){
    Polinom pol1;
    Polinom pol2;
    pol1.getpoli();
    pol2.getpoli();
    cout< < pol1;
    cout< < pol2;
    cout< < pol1+pol2;
    cout< < pol1-pol2;
    cout< < pol1*pol2;
    return 0;
}

4/11/2008

C++ Point Sınıfı Operator'ler Friend'ler

#include
using namespace std;

class Point {
    friend ostream &operator<<( ostream &bitti, const Point &a ){
        bitti<<"x => "< "<        return bitti;
    }
public:
Point( int = 0, int = 0 ); // default constructor
void setPoint( int a, int b)
{
    x=a;
    y=b;
} // set coordinates
int getX() const { return x; } // get x coordinate
int getY() const { return y; } // get y coordinate
private:
int x, y; // x and y coordinates of the Point
bool operator==(Point &hehe){
    if (hehe.x!=x||hehe.y!=y)
        return false;
}
bool operator!=(Point &hehe){
        return !(this==hehe);
}
};

int main(){
    Point p1(3,4);
    Point p2(4,5)
}

4/11/2008

Dosyadan Okumak

#include < stdio.h >
#include < conio.h >

int main() {
  FILE *file;
  float numbers1,numbers2;
  int i,j;

  file = fopen("deneme.txt", "r");

  if(file==NULL) {
    printf("hata : dosya acilamadi!n");
    return 1;
  }
  else {
    printf("Dosya Acildi.n");

    i = 0 ;   

    while(!feof(file)) {
      fscanf(file, "%f %f", &numbers1, &numbers2);
      printf("%f %fn", numbers1, numbers2);
      i=i+2;
    }

    fclose(file);
    getch();
    return 0;
  }
}


deneme.txt

0.00 0.00
3.00 5.00
6.00 10.00
9.00 15.00
12.00 20.00


3/11/2008

Matrislerde Çarpma

#include< stdio.h >

int hesapla(int mata[100][100],int matb[100][100],int a,int b,int c,int d){
         int matc[100][100],i,j,k;
         for(i=0;i            for(j=0;j                matc[i][j]=0;
        }
       
        for(i=0;i            for(j=0;j                for(k=0;k                    matc[i][j] = matc[i][j] + mata[i][k]*matb[k][j];
                }
            }
        }  
         for(i=0;i            for(j=0;j                printf("%5d",matc[i][j]);
            }
            printf("n");
        }     
}
int main()
{
    int a=0,b=0,c=0,d=0,i,j,k;
    int mata[100][100]={0},matb[100][100]={0},matc[100][100]={0};
    printf("nkaca kaclik bir matris carpimi istiyosun soleyiver bakim : ");
    printf("n1.matrisin satir sayisi :");
    scanf("%d",&a);
    printf("n1.matrisin sutun sayisi :");
    scanf("%d",&b);
   
    printf("n2.matrisin satir sayisi :");
    scanf("%d",&c);
    printf("n2.matrisin sutun sayisi :");
    scanf("%d",&d);
   
    if(b != c){
        printf("bu islem yapilamaz ");
        printf("n Opss! ilk matrisin sutun sayisi ekinci matrisin satir sayisina bir olmali");     
    }else if(b==c){
        printf("nilk matrisin sayilarini girin ->");
        for(i=0;i            for(j=0;j                printf("n%d.satir %d.sutun elemani : ",i+1,j+1);
                scanf("%d",&mata[i][j]);
            }
        }   
        printf("nekinci matrisin sayilarini girin ->");
       
        for(i=0;i            for(j=0;j                printf("n%d.satir %d.sutun elemani : ",i+1,j+1);
                scanf("%d",&matb[i][j]);
            }   
        }
        printf("nilk matris:n");
        for(i=0;i            for(j=0;j                printf("%5d",mata[i][j]);
            printf("n");
        }
        printf("nekinci matris:n");
        for(i=0;i        for(j=0;j            printf("%5d",matb[i][j]);
        printf("n");
        }
       
        printf("nAl bakalim carpim sonucun");
        hesapla(mata,matb,a,b,c,d);
    }
    getch();
    return 0;
}

3/11/2008

Sınav Sonuçlarının Analizi

#include< stdio.h >
#include< conio.h >
int main()
{
    int gecenler, kalanlar, ogrenci,sonuc ;
    gecenler=0;
    kalanlar=0;
    ogrenci=1;
    while(ogrenci <=10 ){
        printf("sinav sonucu girin %d :", ogrenci);
        scanf("%d",&sonuc);
        if (sonuc>10 || sonuc<0){
           printf("Yanlis Girdin!!n");
           continue;            
        }
        if(sonuc==1)
           gecenler += 1;
        else
           kalanlar += 1;
        ogrenci += 1 ;
    }
    printf("kalan ogrenci sayisi %d dir.n", kalanlar);
    printf("gecen ogrenci sayisi %d dir.n", gecenler);
   
    if(gecenler>=8)
       printf(" yuksek basarin");
      
    getch();
    return 0;
}

Blogcu ile yapıldı

hit tracker