• 09-04-2010, 01:17:10
    #1
    #include <stdio.h>
    
    func (int m,int n);
    
    int main()
    {
    
     int m,n,display;
    	 //get N and M from the user
    	 printf("Enter M and N respectively\n ");
    	 scanf("%d%d",&m,&n);
         display= func(m,n);
    	 printf("N = %d M= %d",display);
    	
    	 return 0;
    }
    
    func(int m,int n)
    {
    
    	if(m==0){
    		return n+1; }
    	if((m>0)&&(n==0)){
    		int a[2]={m-1,1};
        
    		return 1 ;
    	}
    
    
    
    
    }
    Merhaba Arkadaslar Ben kısaca Programı Anlatayım Kullanıcı 2 Değer giricek M ve N'e
    Eğer M=0 olursa n+1 olarak dönucek bunu hallettim ama
    eger m>0&&n==0 olursa
    m-1 ve n=1 olarak tekrardan main göndermesini deniyorum beceremıyorum 2 saattir deniyorum bulamadım en son arraylare girdim yukarda benim yazdıgım kod mevcut bu gece bitirmem lazım bitiremedim halen :S
    Dip Not Foksiyon Kullanılmak Zorunda :S
  • 09-04-2010, 02:56:07
    #2
    hocam programda eksikler mi var? m=0 veya (m>0 && n==0) şartı olmazsa sorun çıkıyor. Programın tam olarak yapması gerekeni yazarsan düzeltmeye çalışırız.
  • 09-04-2010, 09:45:21
    #3


    tam olarak ıstenenler bunlar
  • 09-04-2010, 19:10:06
    #4
    #include <stdio.h>
    
    
    int A();
    int main()
    {
    int m,n;
    
     printf("Enter m & n \n");
     scanf("%d%d",&m,&n);
     
     printf("%d \n",A(m,n) );
    
    
    
    
    
    
    system("PAUSE");
    return 0;
    }
    
    int A(int m ,int n){
        
        if(m==0){
             
          return n+1;   
             
        }else if(m>0 && n==0){
           
          return A(m-1,1);    
              
        }else if(m>0 && n>0){
              
          return A(m-1,A(m,n-1));    
              
        }
        
        
        
        
        
        
        
    }
    sanırım bu çalışıyor bir dene istersen sorun varsa halletmeye çalışalım
  • 09-04-2010, 20:30:17
    #5
    iki hata verdi usta
    Alıntı
    C:\Users\GRKM\Desktop\C\burak\gk.cpp(12) : error C2660: 'A' : function does not take 2 parameters
    C:\Users\GRKM\Desktop\C\burak\gk.cpp(19) : error C2065: 'system' : undeclared identifier
    Error executing cl.exe.
  • 09-04-2010, 21:09:22
    #6
    gkaradagan adlı üyeden alıntı: mesajı görüntüle
    iki hata verdi usta
    Ne ile derliyorsun. Dev C++ ile herhangi bir sorun yok.
  • 09-04-2010, 21:28:23
    #7
    system kullanma durdurmak için sadece bir scanf(""); kullan ve
    fonksiyonun niteliklerini belirttiğin tepe kısımda
    int A(); yerine int A(int m,int n); yaz
  • 10-04-2010, 12:18:04
    #8
    valla microsoft Visual C++ la derliyor dedıklerınızı yaptım hatta systemi sildim yukarıda dedıgınız gıbı yaptım ama returdan bılgı gelmıyor :S
  • 12-04-2010, 13:09:08
    #9
    bizmut arkadaşın yazdığı kod genel olarak doğru birkaç küçük standard dışı noktası vardı onu da ben düzelttim. Hocanın verdiği kod öyle yazılıyor. Biraz küçük sayılarla dene. tahminen çok fazla recursive işlem oluyor ve bu yüzden sana kod çabuk bir şekilde dönmüyor. yani aslında arkada kod çalışıyor. 3,2 4,5 gibi şeyler dene. Ben kodu da denedim mesela 3,4 değeri için 10306 kez fonksiyon çağrısı yapılıyor, 3,5 için:42437. daha yüksek sayılar verirsen sen düşün. yani sonuç olarak çalışıyor ama işlemler çok uzun sürüyor. daha hızlı çalışacak fonksiyon yazman mümkün ama şimdilik bu sana yeter. ödevin bu kadar.