Dersler

View on GitHub

EEM-120 Algoritma ve Programlama II Dersi

Özyineli (Recursive) fonksiyonlar

#include <stdio.h>
void yaz(void){
    int i;
    for(i=0;i<10;i++)
        printf("yazi ");
}

int main() {
    yaz();
    
    return 0;
}
yazi yazi yazi yazi yazi yazi yazi yazi yazi yazi 
#include <stdio.h>
void yaz(int i){
    if(i>0){
        printf("yazi ");
        yaz(i-1);
    }
}
int main() {
    yaz(10);
    
    return 0;
}
yazi yazi yazi yazi yazi yazi yazi yazi yazi yazi 
#include <stdio.h>
void yaz(int i){
    if(i>0)
        yaz(i-1);
    printf("yazi ");
}
int main() {
    yaz(10);
    return 0;
}
yazi yazi yazi yazi yazi yazi yazi yazi yazi yazi yazi 
#include <stdio.h>
int main() {
    int a, b, n;
    printf("a, b ve n sayilarini giriniz: ");
    scanf("%d %d %d", &a,&b,&n);
    for(;a<b;a+=n)
        printf("%d ",a);
    return 0;
}
a, b ve n sayilarini giriniz: 

 10 20 3


10 13 16 19 
#include <stdio.h>
void artan_sayilar(int a, int b, int n){
    for(;a<b;a+=n)
        printf("%d ",a);
}
int main() {
    int a, b, n;
    printf("a, b ve n sayilarini giriniz: ");
    scanf("%d %d %d", &a,&b,&n);
    artan_sayilar(a,b,n);
    return 0;
}
a, b ve n sayilarini giriniz: 

 10 20 3


10 13 16 19 
#include <stdio.h>
void artan_sayilar(int a, int b, int n){
    if(a<b){
        printf("%d ",a);
        artan_sayilar(a+n,b,n);
    
    }
}
int main() {
    int a, b, n;
    printf("a, b ve n sayilarini giriniz: ");
    scanf("%d %d %d", &a,&b,&n);
    artan_sayilar(a,b,n);
    return 0;
}
a, b ve n sayilarini giriniz: 

 10 20 3


10 13 16 19 
#include <stdio.h>
void artan_sayilar(int a, int b, int n){
    if(a<b){
        // onceki programda fonksiyon cagirma ile
        // printf in yerini degistirirsek ne olur?
        artan_sayilar(a+n,b,n);
        printf("%d ",a);
    }
}
int main() {
    int a, b, n;
    printf("a, b ve n sayilarini giriniz: ");
    scanf("%d %d %d", &a,&b,&n);
    artan_sayilar(a,b,n);
    return 0;
}
a, b ve n sayilarini giriniz: 

 10 20 3


19 16 13 10 
#include <stdio.h>
long us(int a, int n){
    long sonuc=1;
    int i;
    for(i=0;i<n;i++)
        sonuc *= a;
    return sonuc;
}
int main() {
    int x, y;
    printf("a, n sayilarini giriniz: ");
    scanf("%d %d", &x,&y);
    printf("%d ussu %d = %d",x,y,us(x,y));
    return 0;
}
a, n sayilarini giriniz: 

 2 5


2 ussu 5 = 32
#include <stdio.h>
long us(int a, int n){
    if(n==1)
        return a;
    return a * us(a, n-1);
}
int main() {
    int x, y;
    printf("a, n sayilarini giriniz: ");
    scanf("%d %d", &x,&y);
    printf("%d ussu %d = %ld",x,y,us(x,y));
    return 0;
}
a, n sayilarini giriniz: 

 3 4


3 ussu 4 = 81
#include <stdio.h>
long faktoriyel(int n){
    int i;
    long sonuc=1;
    for(i=n;i>1;i--)
        sonuc = sonuc * i;
    return sonuc;
}
int main() {
    int x;
    printf("bir deger giriniz: ");
    scanf("%d", &x);
    printf("%d! = %ld",x,faktoriyel(x));
    return 0;
}
bir deger giriniz: 

 5


5! = 120
#include <stdio.h>
long faktoriyel(int n){
    if(n==1)
        return n;
    return n*faktoriyel(n-1);
}
int main() {
    int x;
    printf("bir deger giriniz: ");
    scanf("%d", &x);
    printf("%d! = %ld",x,faktoriyel(x));
    return 0;
}
bir deger giriniz: 

 5


5! = 120