• 25-11-2008, 21:00:15
    #1
    Arkaşlar ödev aşağıdadır.Ben uğraştım ama bi türlü toparlayamadım.Yardım edenlere şimdiden teşekkurler.



    Soru: 1 ile 50 arasındaki çift sayıların karesini hesaplayıp, bir diziye aktaran bir alt
    programı (fonksiyon) döngü komutları kullanmadan yazınız? (Rekürsif fonksiyonlarla)
    Ana program içerisinde de bu dizinin elemanlarını satır satır ekrana yazdırınız.
  • 27-11-2008, 02:26:09
    #2
    Al bakalım recursive kullanılarak kareler alınıyor ve dizi içerisine aktarılıyor ve ekrana basılıyor.

    #include <stdio.h>
    #include <conio.h>
    
    #define son 100
    int sonuclar[son+1];
    
    kareler (int bas);
    
    void main () {
     clrscr();
     kareler(1);
     getch();
    }
    
    kareler (int bas) {
     bas++;
    
       if (bas%2==0) {
        sonuclar[bas] = (bas*bas);
        printf("%d\tkaresi\t%d \n", bas, sonuclar[bas]);
       }
    
       if (bas<=son-1) { kareler(bas); }
     return 0;
    }
  • 27-11-2008, 12:56:29
    #3
    #include <iostream>
    #include <iomanip>
    
    #define boyut 25
    
    using namespace std;
    
    void kareler(int*,int =1);
    
    int main(){
        int* dizi = new int[boyut];
        kareler(dizi);
        for (int i=2;i<=50;i+=2,dizi++)
        cout << setw(2) << i << setw(10) << *dizi << endl;
        return 0;
    }
    
    void kareler(int* adres,int sayi){
        if (sayi>50) return;
        if (sayi%2==0) {
            *adres=sayi*sayi;
            adres++;
        }
        kareler(adres,sayi+1);
    }
  • 27-11-2008, 16:29:38
    #4
    çok teşekkur ediyorum