Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Tính tổng và trung bình cộng các phần tử chẵn trong mảng

  1. #1
    Ngày gia nhập
    02 2012
    Bài viết
    2

    Mặc định Tính tổng và trung bình cộng các phần tử chẵn trong mảng

    Giúp e giải bài này với: Tính tổng và trung bình cộng các phần tử chẵn trong mảng
    E mới học nên chưa biết làm mong các pro chỉ giáo

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Bài này có nhiều rồi. Chịu khó tìm

  3. #3
    Ngày gia nhập
    05 2011
    Bài viết
    299

    thế bài này nếu tính toán trên giấy thì "em" sẽ làm thế nào?
    các vòng lặp, if...else thì chắc em cũng được giảng qua hoặc cũng đã chịu khó đọc tài liệu rồi chứ nhỉ
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  4. #4
    Ngày gia nhập
    02 2012
    Bài viết
    2

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Bài này có nhiều rồi. Chịu khó tìm
    E cũng tìm hiểu qua các bài nhưng vẫn chưa hiểu lắm. E có xem qua bài này
    Code:
    #include<stdio.h>
    int a[1000];
    int n;
    void nhapMang()
    {
    	int i;
    	for(i=0;i<n;i++)
    	{	
    		printf("a[%d]= ",i);
    		scanf("%d",&a[i]);
    	}
    }
    
    void TrungBinhCongSoChan()
    {
    	int i;
    	int tong=0;
    	int dem=0;
    	
    	for(i=0;i<n;i++)
    		if(a[i]%2==0) 
    		{	tong+=a[i];
    			dem++;
    		}
    		
    	printf("tong trung binh cong so chan la %d  ",tong/dem);		
    }
    void main()
    {
    	printf("nhap phan tu mang ");
    	scanf("%d",&n);
    	nhapMang();
    	TrungBinhCongSoChan();
    
    
    }

  5. #5
    Ngày gia nhập
    03 2011
    Bài viết
    151

    Cái vấn đề là bạn không hiểu giải thuật hay ko hiểu code.Nếu là giải thuật thì đơn giản thế này.
    -Khai báo và nhập mảng.
    -Cho hàm for chạy từ đầu đến cuối mảng.Trong khi chạy thì tại mỗi vị trí nó sẽ kiểm tra xem đấy có fai la số chẵn hay ko(= cach xem nó chia lấy dư có =0 hay ko) ,nếu là số chẵn thì cộng lại lấy tổng và tăng biến đếm(để đếm số lượng phần tử là số chẵn để tính tbc).thế thôi.
    Cái đoạn code trên:
    - tong+=a[i] nghĩa là tong = tong +a[i];
    - dem++ nghĩa là dem=dem+1;

  6. #6
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Mặc định Tính tổng và trung bình cộng các phần tử chẵn trong mảng

    Đã chạy thử nó chưa? Học code không có gì bằng chạy thử, dùng nhiều dữ liệu nhập khác nhau và phân taichs tại sao dữ liệu cho ra kết quả như thế.

    Trích dẫn Nguyên bản được gửi bởi cabasamini Xem bài viết
    E cũng tìm hiểu qua các bài nhưng vẫn chưa hiểu lắm. E có xem qua bài này
    Code:
    #include<stdio.h>
    int a[1000]; // bài này dùng biến toàn cục, có thể nói là thuộc loại bài dở
    int n;
    void nhapMang() // chạy thử thì sẽ biết hàm này hoạt động ra sao 
    {
    	int i;
    	for(i=0;i<n;i++)
    	{	
    		printf("a[%d]= ",i);
    		scanf("%d",&a[i]); // nhập từng trị các phần tử mảng 
                    // để ý từ khóa & có nghĩa là địa chỉ của phần từ a[i]
                    // người mới học thường hay quên là hàm scanf nhập số int qua địa chỉ
    	}
    }
    
    void TrungBinhCongSoChan()
    {
    	int i;
    	int tong=0;
    	int dem=0;
    	
    	for(i=0;i<n;i++) // duyệt mảng, công các số chẵn vào tong, dem là số đếm của các số chẵn
    		if(a[i]%2==0)  // nếu a[i]%2 == 0 thì chia chẵn cho 2
    		{	tong+=a[i];
    			dem++;
    		}
    
    	printf("tong so chan la %d  ",tong);				
    	printf("tong trung binh cong so chan la %d  ",tong/dem);		
    }
    void main()
    {
    	printf("nhap phan tu mang "); // đáng lẽ phải là "nhap số phan tu mang " 
    	scanf("%d",&n);
    	nhapMang();
    	TrungBinhCongSoChan();
    
    
    }
    Kết luận: tìm bài khác, không dùng biến toàn cục thì hay hơn.

  7. #7
    Ngày gia nhập
    03 2011
    Bài viết
    151

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Đã chạy thử nó chưa? Học code không có gì bằng chạy thử, dùng nhiều dữ liệu nhập khác nhau và phân taichs tại sao dữ liệu cho ra kết quả như thế.



    Kết luận: tìm bài khác, không dùng biến toàn cục thì hay hơn.
    Bạn có thể nói tại sao ko nên dùng biến toàn cục ko,mình chưa hiểu lắm.

  8. #8
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Giải thích cặn kẽ thì dài cỡ một hai trang, không có thì giờ. Xin lỗi vậy.

    Đại khái có hai yếu tố chính:

    1. Vì biến nội bộ khai báo bên trong hàm sẽ đè biến cục bộ nếu bị trùng tên (trừ phi được scoped đầy đủ) cho nên biến toàn cục dễ sinh ra lầm lẫn, tạo bug trong hàm.

    2. Giao diện lý tưởng giữa hàm và code gọi hàm là qua chữ ký (prototype) của hàm. Tất cả những gì hàm dùng để liên lạc với code gọi đều nên thông qua tham số và trị trả về của hàm. Khi dùng biến toàn cục là đi đường tắt, không qua cái prototype trên, khiến cho giao diện bị mất ý nghĩa.
    Điều này tước bỏ tính chất gói gọn của hàm vì nó không còn là một khối độc lập nữa.

  9. #9
    Ngày gia nhập
    03 2011
    Bài viết
    151

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Giải thích cặn kẽ thì dài cỡ một hai trang, không có thì giờ. Xin lỗi vậy.

    Đại khái có hai yếu tố chính:

    1. Vì biến nội bộ khai báo bên trong hàm sẽ đè biến cục bộ nếu bị trùng tên (trừ phi được scoped đầy đủ) cho nên biến toàn cục dễ sinh ra lầm lẫn, tạo bug trong hàm.

    2. Giao diện lý tưởng giữa hàm và code gọi hàm là qua chữ ký (prototype) của hàm. Tất cả những gì hàm dùng để liên lạc với code gọi đều nên thông qua tham số và trị trả về của hàm. Khi dùng biến toàn cục là đi đường tắt, không qua cái prototype trên, khiến cho giao diện bị mất ý nghĩa.
    Điều này tước bỏ tính chất gói gọn của hàm vì nó không còn là một khối độc lập nữa.
    Thanx ,cũng chẳng bao h dùng biến toàn cục cả ,cũng hiểu cái ý đầu nhưng h mới để ý ý thứ 2

  10. #10
    Ngày gia nhập
    10 2011
    Bài viết
    552

    @thitcholaotien Ý thứ 2 đó mới chính là điều cốt lõi của vấn đề đấy bạn
    Viết hàm mà không ràng buộc sử dụng "giao tiếp ra bên ngoài" thông qua tham số thì còn gì là "viết hàm" @@ trừ một số cách thiết kế khác
    Thăm hỏi tí: Dạo này ít thấy thitcholaotien hỏi bài nhỉ ^^. Mình thích cái cách hỏi của bạn, mà lâu rồi chả thấy hỏi Chắc trình độ cũng tăng vùn vụt mà ko gặp phải chướng ngại nào rồi nhỉ ^^
    Um Mani Padme Hum...!!

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

  1. Bài tập C Tính trung bình cộng trong DSLK bằng C. Lỗi chỉ đếm các số chẵn chứ không tính hàm trung bình cộng?
    Gửi bởi trungdv007 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 31-08-2011, 11:05 PM
  2. Chọn phần tử chẵn đầu tiên trong listbox
    Gửi bởi danielh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 11-07-2011, 01:41 PM
  3. Tính tổng của các phần tử chẵn trong mảng ntn?
    Gửi bởi dophubao trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 24-11-2010, 10:10 AM
  4. Lập trình C Tính trung bình các số chẵn trong dãy
    Gửi bởi longtuan91 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 02-06-2010, 11:16 PM
  5. Lập trình C | Tính tổng và in tất cả các phần tử chẵn trong mảng
    Gửi bởi xitrum12314 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 25-05-2009, 02:31 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