Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: đệ quy trên C | Tính trung bình cộng các phần tử ma trận?

  1. #1
    Ngày gia nhập
    07 2009
    Bài viết
    42

    Wink đệ quy trên C | Tính trung bình cộng các phần tử ma trận?

    đề bài: tính trung bình cộng các số dương trong ma trận các số nguyên.
    (lưu ý: viết bằng đệ quy)đây là code bằng vòng lặp:
    PHP Code:
    float tbc(int a[][100],int nint m)
    {
        
    int count 0;
        
    int s 0;
        for(
    int i =<ni++)
        {
            for(
    int j =j<mj++)
                if(
    a[i][j]>0)
                {
                    
    += a[i][j];
                    
    count++;
                }
        }
        return (float)
    s/count;


    ->em chưa viết đệ quy được.mong mấy pro giúp em với?

  2. #2
    Ngày gia nhập
    11 2007
    Nơi ở
    Hà Nội
    Bài viết
    520

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #define MMAX 3
    4. #define NMAX 3
    5.  
    6. int count = 0;
    7. int s = 0;
    8. void tong(int a[][MMAX],int n, int m,int i, int j)
    9. {
    10.     if(i<n)
    11.         {
    12.             if(j<m)
    13.             {
    14.             if(a[i][j]>0)
    15.             {
    16.                 s+= a[i][j];
    17.                 count++;
    18.                 tong(a,n,m,i,j+1);
    19.             }
    20.             }else tong(a,n,m,i+1,0);
    21.         }
    22.        
    23. }  
    24. int main()
    25. {
    26.     int i,j, m,n;
    27.     int a[NMAX][MMAX];
    28.     for(i=0;i<NMAX;++i)
    29.         for(j=0;j<MMAX;++j)
    30.         {
    31.             printf("a[%d][%d] = ",i,j);
    32.             scanf("%d",&a[i][j]);
    33.         }
    34.  
    35.         tong(a,NMAX,MMAX,0,0);
    36.     printf("\ntbc = %f",(float)s/count);
    37.     getch();
    38.     return 0;
    39. }

  3. #3
    Ngày gia nhập
    08 2010
    Nơi ở
    Vô gia cư
    Bài viết
    147

    Trích dẫn Nguyên bản được gửi bởi huhuhuhu Xem bài viết
    đề bài: tính trung bình cộng các số dương trong ma trận các số nguyên.
    [SIZE="4"](lưu ý: viết bằng đệ quy)
    Không được hay lắm. Test thử nha bạn
    PHP Code:
    #include <iostream>

    using namespace std;

    #define Max 100

    float tongint a[][ Max ], int mint nint &countint i )
    {
        if ( 
    )
            return 
    0;
        if ( 
    == )
        {
            
    0;
            
    m--;
        }
        if ( 
    a][ ] > )
        {
            
    count++;
            return 
    a][ ] + tongamncount);
        }
        return 
    tongamncount);
    }

    float tbcint a[][ Max ], int mint n )
    {
        
    int count 0;
        
    float s tongamncount );
        return 
    count count 0;
    }

    int main()
    {
        
    int a[2][Max] = { {12, -5} , {-34, -}};
        
    cout << tbca2) << endl;
        
        
    system("pause");
        return 
    0;


  4. #4
    Ngày gia nhập
    08 2010
    Nơi ở
    Vô gia cư
    Bài viết
    147

    Trích dẫn Nguyên bản được gửi bởi quangnh89 Xem bài viết
    C Code:
    1. int count = 0;
    2. int s = 0;
    3. void tong(int a[][MMAX],int n, int m,int i, int j)
    4. {
    5.     if(i<n)
    6.         {
    7.             if(j<m)
    8.             {
    9.             if(a[i][j]>0)
    10.             {
    11.                 s+= a[i][j];
    12.                 count++;
    13.                 tong(a,n,m,i,j+1);
    14.             }
    15.             }else tong(a,n,m,i+1,0);
    16.         }
    17.        
    18. }
    chỉnh lại 1 chút đi bạn. Chưa đúng đâu, còn phải lưu ý trường hợp khi count = 0 nữa nhé
    PHP Code:
    if(a[i][j]>0)
                {
                    
    s+= a[i][j];
                    
    count++; 
                }
                
    tong(a,n,m,i,j+1); 

  5. #5
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    PHP Code:
    #include <iostream>
    using namespace std;

    double TrungBinh(int a[][100],int n,int m,int i=0,int j=0,int flag=1)
    {
        return 
    i<n?j<m?a[i][j]/1./n/m+TrungBinh(a,n,m,i,j+1,0):0+flag?TrungBinh(a,n,m,i+1,j):0:0;
    }

    void main()
    {
        
    int a[100][100],n=2,m=3;
        
    //nhập vào
        
    for(int i=0;i<n;++i)
            for(
    int j=0;j<m;++j)
            {
                
    printf("a[%d][%d] = ",i,j);
                
    scanf("%d",&a[i][j]);
            }
        
    //xuất
        
    printf("trung binh : %lf",TrungBinh(a,n,m));
        
    system("pause");

    Đã được chỉnh sửa lần cuối bởi langman : 12-10-2010 lúc 12:27 AM.
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  6. #6
    Ngày gia nhập
    11 2010
    Bài viết
    7

    Mặc định đệ quy trên C | Tính trung bình cộng các phần tử ma trận?

    Xin góp 1 code.

    PHP Code:
    #include<stdio.h>
    #include<conio.h>
    int count=0;
    float tb(int **a,int k){
          if(
    k==0) {count++;return a[0][0];}
          else{
                   if(
    a[0][k]>0)      
                          {            
    count++;
                                       return((
    tb(a,k-1)+a[0][k]));
                          }
                    else return 
    tb(a,k-1);
              
          }
    }
    int main(){
        
    int **a,n,m,*temp;
        
    printf("Nhap ma tran:");
        
    scanf("%d %d",&n,&m);
        
    a=new int* [n];
        
    temp=new int[n*m];
        for(
    int i=0;i<n;i++){
                
    a[i]=temp;
                
    temp=temp+m;
        }
        for(
    int i =<ni++) 
        { 
            for(
    int j =j<mj++) {
                    
    printf("Nhap a[%d][%d]:",i,j);
                    
    scanf("%d",&a[i][j]);
            }        
        }   
        
    printf("tb=%f",tb(a,n*m-1)/count);
        
    delete [] a[0];
        
    delete [] a;
        
    getch();


Các đề tài tương tự

  1. bán chung cư số 7 Trần Phú hà đông,-chính chủ bán căn hộ số 7 trần phú, giá rẻ
    Gửi bởi haiphuong8888 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 03-08-2012, 03:41 PM
  2. Bài tập C Tính tổng các phần tử trên đường chéo chính của Ma trận
    Gửi bởi tungoctuan25 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 30-03-2012, 08:45 PM
  3. Bài tập C Tính tổng các phần tử trên đường chéo chính của ma trận MxN !
    Gửi bởi Sylar trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 35
    Bài viết cuối: 24-02-2012, 11:01 PM
  4. tính tồng các phần từ dương trên 1 ma trận
    Gửi bởi tuanvu_n trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 05-08-2010, 11:11 PM
  5. Tạo một ma trận mà các phần tử là số và chữ trên C
    Gửi bởi dungtimtoinua2008 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 03-05-2010, 10:26 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn