14 Kasım 2013 Perşembe

C++ Örnekleri 2 Fonksiyonlar

1)Asal sayıları bulan uygulama

#include <stdio.h>

bool asal(long int a);

int main() {
    long int a,b,i,j;
    for(i = 2;i < 50;i++) {
        asal(i);
        if(asal(i))printf("%ld asaldır\n",i);
    }
    return 0;
}

bool asal(long int a){
    for( int j = 2;j < a;j++){
        if(a % j == 0)
            return false;
    }
    return true;

}

2)Barbut oyunu uygulaması

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int zar(void);

int main(void) {
    int oyun,top,puan;
    srand(time(NULL));
    top = zar();
    switch(top) {
        case 7:case 11: oyun = 1;break;
        case 2 :case 3:case 12:oyun = 0;break;
        default:oyun = 2;puan = top;printf("puan : %d\n",puan);break;
      
    }
    while(oyun == 2) {
        top = zar();
        if(top == puan) oyun = 1;
        if(top == 7) oyun = 0;
    }
    if(oyun == 1)
        printf("Kazandınız");
    else
        printf("Kaybettiniz");
    return 0;
}

int zar(void) {
    int zar1,zar2,zartop;
    zar1 = 1 + rand() % 6;
    zar2 = 1 + rand() % 6;
    zartop = zar1 + zar2;
    printf("%d ve %d toplam :%d\n",zar1,zar2,zartop);
    return zartop;

}

3)

//Notu girilen öğrencinin harf olarak karşılığını veren uygulama
#include <stdio.h>
#include <stdlib.h>

char fonk(int a);

int main() {
  
    int a;

    printf("Notu giriniz:");
    scanf("%d",&a);
    fonk(a);
    printf("Harfli sistemde = %c",fonk(a));
    return 0;
}

char fonk(int a) {
    if(a >= 0 && a < 50) return 'F';
    if(a >= 50 && a < 70) return 'D';
    if(a >= 70 && a < 80) return 'C';
    if(a >= 80 && a < 90) return 'B';
    if(a >= 90 && a < 100) return 'A';

}

4)

//Bir diziye rastgele değer atan ve bu sayıların ortalamasaını yazdıran program
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int dizi[10];
void ort(int []);
int fonk(int a);

int main() {
    int a,i,d;double sonuc;
    srand(time(NULL));
    for(i = 0;i < 10;i++) {
        dizi[i] = fonk(a);
         printf("%d\n",dizi[i]);
    }
    ort(dizi);
    return 0;
}

int fonk(int a) {
    return rand() % 10;
}

void ort(int dizi[]) {
    int top = 0;
    for(int i= 0;i < 10;i++){
        top += dizi[i];
    }
    printf("Ortalama : %d",(top / 10));

}

5) Mersenne asallarını bulan uygulama

#include <stdio.h>
#include <iostream>

bool asal(int a);
long long int mersenne(int a);

int main() {
    int a,b,i,j;
    for(i = 2;i < 100;i++) {
        asal(i);
        if(asal(i)){
            printf("%d için Mersenne asalı:\n",i);
            mersenne(i);
            printf("%lld \n",mersenne(i)-1);
        }
    }
    return 0;
}

bool asal(int a){
    for( int j = 2;j < a;j++){
        if(a % j == 0)
            return false;
    }
    return true;
}

long long int mersenne(int a){
    if(a == 0){
        return 1;
    }
     return   2*mersenne(a-1);

}

6) Mükemmel sayıları bulan uygulama

//Bölenlerinin toplamı kendisine eşit olan sayıya mükemmel sayı denir
#include <stdio.h>
#include <stdlib.h>

void fonk(int a);

int main(void) {
    int b,i;
    for(i = 2;i < 1000;i++) {
        fonk(i);
      
    }
    return 0;
}

void fonk(int a) {
    int b,k,j,top = 0;
    for(j = 1;j < a;j++) {
        if(a % j == 0){
            top += j;
            if(j > (a / 2)) break;
        }
    }
    if(top == a) printf("%d\n",top);

}

7) Girilen sayı boyutunda  ‘#’ ile kareler oluşturur.

#include <stdio.h>
#include <stdlib.h>

void fonk(int a);

int main(void) {
    int a,i;
    printf("Bir sayı yazınız: ");
    scanf("%d",&a);
    fonk(a);
    return 0;
}

void fonk(int a) {
    int i,j;
    for(j = 0;j < a;j++) {
    for(i = 0;i < a;i++) {
        printf("# ");
     
    }
     printf("\n");
    }

}

8) 5 Haneli sayıları tersten yazan uygulama

#include <stdio.h>

int fonk(int a);

int main(){
    int a,i;
    printf("5 haneli bir sayı yazınız:");
    scanf("%d",&a);
    fonk(a);
    return 0;
}

int fonk(int a){
    int b,v,k,l,i;
    b = a % 10 ;
    v = (a % 100) - b;
    k = (a % 1000)-(b+v);
    i = (a % 10000)-(b+v+k);
    l = (a % 100000)-(b+v+k+i);
    printf("%d%d%d%d%d",b,v/10,k/100,i/1000,l/10000);

}


0 yorum:

Yorum Gönder