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

Đề tài: 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?

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

    Mặc định 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?

    Code:
    #include<conio.h>
    #include<iostream.h>
    #include<stdlib.h>
    struct node{
    	int info;
    	node *link;
    	};
    node *Tao(int x, node *p)
    {
    	node *q=new node;
    	q->info=x;
    	q->link=p;
    	return q;
    }
    void xuat(node *link)
    {
    	node *p=link;
    	while(p!=NULL)
    	{
    		cout<<p->info<<" ";
    		p=p->link;
    	}
    	cout<<"NULL";
    }
    int tbc(node *L)
    {
    	int s=0;
    	int k=0;
    	node *p=L;
    	while(p!=NULL)
    	{
    		if(p->info%2==0)
    			s=s+p->info;
    			k=k+1;
    			p=p->link;
    	}
    	if(k!=0)
    	return s/k;
    	else return 0;
    }
    void main()
    {
    	clrscr();
    	node *L;
    	L=Tao(3,Tao(7,Tao(6,Tao(9,(Tao(8,NULL))))));
    	xuat(L);
    	cout<<"\n trung binh cong cac so chan: "<<tbc(L);
    	getch();
    }

    sao kq in ra là bằng 2, nó chỉ đếm các số chẵn chứ không tính hàm trung bình cộng các số chẵn trong ds. Mong các bác chỉ giúp,thanks!!!
    Đã được chỉnh sửa lần cuối bởi trungdv007 : 31-08-2011 lúc 09:36 PM.

  2. #2
    Ngày gia nhập
    04 2011
    Nơi ở
    Heaven
    Bài viết
    90

    Trích dẫn Nguyên bản được gửi bởi trungdv007 Xem bài viết
    Code:
    #include<conio.h>
    #include<iostream.h>
    #include<stdlib.h>
    struct node{
    	int info;
    	node *link;
    	};
    node *Tao(int x, node *p)
    {
    	node *q=new node;
    	q->info=x;
    	q->link=p;
    	return q;
    }
    void xuat(node *link)
    {
    	node *p=link;
    	while(p!=NULL)
    	{
    		cout<<p->info<<" ";
    		p=p->link;
    	}
    	cout<<"NULL";
    }
    int tbc(node *L)
    {
    	int s=0;
    	int k=0;
    	node *p=L;
    	while(p!=NULL)
    	{
    		if(p->info%2==0)
    			s=s+p->info;
    			k=k+1;
    			p=p->link;
    	}
    	if(k!=0)
    	return s/k;
    	else return 0;
    }
    void main()
    {
    	clrscr();
    	node *L;
    	L=Tao(3,Tao(7,Tao(6,Tao(9,(Tao(8,NULL))))));
    	xuat(L);
    	cout<<"\n trung binh cong cac so chan: "<<tbc(L);
    	getch();
    }

    sao kq in ra là bằng 2, nó chỉ đếm các số chẵn chứ không tính hàm trung bình cộng các số chẵn trong ds. Mong các bác chỉ giúp,thanks!!!
    Để ý một chút nha bạn
    Code:
    if(p->info%2==0)
    		{
    			s=s+p->info;
    			k=k+1;
    		}
    I'll come back

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

    thanks bác, e cũng đã tìm ra lỗi rồi ah. nhưng e ko biết cách xóa bài đăng như thế nào

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

  1. Bài tập C++ Tính tổng và trung bình cộng các phần tử chẵn trong mảng
    Gửi bởi cabasamini trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 04-02-2012, 04:12 PM
  2. Tìm Trung Binh Cộng Và Trung Bình Nhân trong C?
    Gửi bởi gvkatashi01 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: 29-07-2010, 08:46 PM
  3. 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
  4. Lập trình C | Tính trung bình cộng trong dslk trên C??
    Gửi bởi sonas 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: 16-05-2009, 06:45 PM
  5. Tính trung bình những số chẵn từ 1 đến n
    Gửi bởi tranthecong trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 20
    Bài viết cuối: 06-04-2008, 08:23 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