farhad64
New Member
سلام دوستان این برنامه قسمت مرتب سازیش درست عمل نمیکنه وقتی داده ها 4تا یا کمتر باشه درست مرتب میکنه اما وقتی بیشتر بشن عمل sort رو اشتباه انجام میده.
اگه کسی میدونه اشکال کجاس لطفا یه توضیحی بده.
ممنون!!

اگه کسی میدونه اشکال کجاس لطفا یه توضیحی بده.
ممنون!!

کد:
#include <iostream.h>
#include <conio.h>
void main()
{
struct rec
{
int st_no;
char l_n[15];
char f_n[15];
float grade;
}
st_rec[25],t;
float ave,sum,max;
int m,i,j,k;
sum=0;
k=0;
max=0;
cout<<"please enter some of student"<<endl;
cin >> m;
for(i=0;i<m;++i)
{
cout<<"enter name ,family & grade of student"<<endl;
cout<<i<<" ";
cin >>st_rec[i].f_n >>st_rec[i].l_n >> st_rec[i].grade;
sum=sum+st_rec[i].grade;
if (st_rec[i].grade > max)
max=st_rec[i].grade;
if (st_rec[i].grade < st_rec[k].grade)
k=i;
}
ave=sum/m;
cout<<"average of class: "<<ave<<endl;
cout<<"maximum of grade: "<<max<<endl;
cout<<"minimum of grade: "<<st_rec[k].grade<<endl;
for (i=1;i<m;++i)
for (j=0;j<m-j;++j)
if (st_rec[j].grade > st_rec[j+1].grade)
{
t=st_rec[j];
st_rec[j]=st_rec[j+1];
st_rec[j+1]=t;
}
for (i=0;i<m;++i)
{
cout<<i<<" ";
cout<<st_rec[i].f_n<<" ";
cout<<st_rec[i].l_n<<" ";
cout<<st_rec[i].grade<<" "<<endl;
}
getch();
}