برنامه نویس حرفه ای با ++c

oranoos_mta

New Member
سلام
ميخواستم راجع به برنامه يه توضيحي بدم
برنامه اي که من ميخواستم اين بود که
max و min
تکرار اعداد را بدست بياره مهم نيست که عدد
max و min
باشه مهم اينه که بيشترين تکرار را بگه واسه کدوم عدد و کمترين تکرار واسه کدوم عدد
کد:
#include <iostream.h>
#include <conio.h>
void findt(float arr[],int k);
int main()
{
const int k=7;
float arr[k]; int i;
clrscr();
cout<<"ebter 7 number"<<endl;
for (i=0 ; i < k ; i++)
cin>>arr[i];
findt(arr,k);
return 0;
}
void findt(float arr[],int k)
{
int maximum=-1; int minimum=k+1;
float max_valu,min_val;
int i,j,curent_count,curent_coun;
float maxindex,minindex;
for (i=0 ; i<k ; i++)
{
maxindex=arr[i];
minindex=arr[i];
curent_count=0; curent_coun=0;
for(j=0; j<=k ; j++)
{
if (arr[j]==maxindex)
curent_count++;
if (arr[j]==minindex)
curent_coun++;
if(curent_count>maximum)
{
maximum=curent_count;
max_valu=maxindex;
}
if(curent_coun<minimum)
{
minimum=curent_coun;
min_val=minindex;
}//end of if
}//end of for (i=9;i<k...)
}
cout<<"max iteration of ave is---->";
cout<<max_valu<<" &max repaeat is --->"<<maximum<<endl;
cout<<"min iteration of ave is---->";
cout<<min_val<<" &min repaeat is --->"<<minimum<<endl;
}
 

saalek110

Well-Known Member
با سلام.
شما آمده اید یک عضو آرایه را با بقیه اعضا مقایسه کرده اید . وقتی مساوی بوده شمارش را اضافه کرده اید. ولی وقتی باید با شمارش های قبلی مقایسه کنید که شمارش فعلی شما تمام شده باشد. پس مقایسه را بعد شمارش فعلی یعنی بیرون حلقه for داخلی (inner for ) بگذارید.
کد:
#include <iostream.h>
#include <conio.h>
void findt(float arr[],int k);
int main()
{
const int k=7;
float arr[k];
clrscr();
cout<<"enter 7 number"<<endl;
for (int i=0 ; i < k ; i++)
cin>>arr[i];
findt(arr,k);
// getch(); -- for turbo c 3.0
return 0;
}
// ---------------------------------
void findt(float arr[],int k)
{
int maximum=-1; int minimum=k+1;
float max_valu,min_val;
int i,j,curent_count,curent_coun;
float maxindex,minindex;
               for (i=0 ; i<k ; i++)
                {
                maxindex=arr[i];
                minindex=arr[i];
                curent_count=0; curent_coun=0;
                                  for(j=0; j<=k ; j++)
                                      {
                                      if (arr[j]==maxindex)     curent_count  ++;
                                      if (arr[j]==minindex)     curent_coun   ++;
                                                 
                                      }//end of inner_for
                                                      if(curent_count>maximum)
                                                        {
                                                        maximum=curent_count;
                                                        max_valu=maxindex;
                                                        }//end of if_1
                                                      if(curent_coun<minimum)
                                                        {
                                                        minimum=curent_coun;
                                                        min_val=minindex;
                                                        }//end of if_2
              } // end of outer_for
                cout<<"max iteration of ave is---->";
                cout<<max_valu<<" &max repaeat is --->"<<maximum<<endl;
                cout<<"min iteration of ave is---->";
                cout<<min_val<<" &min repaeat is --->"<<minimum<<endl;
} // end of findt_function
//
//
//
//
.
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا