mahsa_mahshar
10-12-2009, 19:51
سلام دوستان
یه برنامه میخوام به زبان ++c که تعدادی عدد از کاربر بگیره آنها را در لیست پیوندی ذخیره کند.(با گرفتن عدد صفر متوقف شود)تعداد گره ها را نمایش دهد.مقدار میانگین را محاسبه کند.گره هایی که مقادیرش بزرگتر از میانگین هستند رو نمایش بده .
تا قسمت محاسبه میانگینش درسته ولی برای چاپ اعداد بزرگتر از میانگین مشکل داره .ممنون میشم کمکم کنید
#include <iostream.h>
#include <conio.h>
//#include <stdlib.h>
class node{
public:
node();
int num;
node *next;
void function();
void find();
private:
node *first;
node *last;
};
////////////////////////////////////////////////////////////////
node::node()
{
first=last=NULL;
}
//////////////////////////////////////////////////////////////
void node::function()
{
int i=-1;
float s=0,ave;
node *newptr=new node;
newptr->next=NULL;
cout<<"enter numbers="<<endl;
do
{
cin>>newptr->num;
s+= newptr->num;
i++;
if (first==NULL)
first=last=newptr;
else {
last->next=newptr;
last=newptr;
}
}while (newptr->num !=0);
ave=s/i;
cout<<"number of nodes="<<i<<" ave="<<ave;
cout<<endl<<"nodes higher than ave=";
int t;
node *temp;
temp=first;
node *previous=NULL;
while (temp != NULL)
{
if (temp->num >ave)
{
t=temp->num;
cout<<t<<endl;}
temp=temp->next;
}
}
///////////////////////////////////////////////////////////
int main()
{
node x;
x.function();
getch();
return 0;
}
یه برنامه میخوام به زبان ++c که تعدادی عدد از کاربر بگیره آنها را در لیست پیوندی ذخیره کند.(با گرفتن عدد صفر متوقف شود)تعداد گره ها را نمایش دهد.مقدار میانگین را محاسبه کند.گره هایی که مقادیرش بزرگتر از میانگین هستند رو نمایش بده .
تا قسمت محاسبه میانگینش درسته ولی برای چاپ اعداد بزرگتر از میانگین مشکل داره .ممنون میشم کمکم کنید
#include <iostream.h>
#include <conio.h>
//#include <stdlib.h>
class node{
public:
node();
int num;
node *next;
void function();
void find();
private:
node *first;
node *last;
};
////////////////////////////////////////////////////////////////
node::node()
{
first=last=NULL;
}
//////////////////////////////////////////////////////////////
void node::function()
{
int i=-1;
float s=0,ave;
node *newptr=new node;
newptr->next=NULL;
cout<<"enter numbers="<<endl;
do
{
cin>>newptr->num;
s+= newptr->num;
i++;
if (first==NULL)
first=last=newptr;
else {
last->next=newptr;
last=newptr;
}
}while (newptr->num !=0);
ave=s/i;
cout<<"number of nodes="<<i<<" ave="<<ave;
cout<<endl<<"nodes higher than ave=";
int t;
node *temp;
temp=first;
node *previous=NULL;
while (temp != NULL)
{
if (temp->num >ave)
{
t=temp->num;
cout<<t<<endl;}
temp=temp->next;
}
}
///////////////////////////////////////////////////////////
int main()
{
node x;
x.function();
getch();
return 0;
}