PDA

View Full Version : سوال: رهنمای برای پیدا کردن عدد بزرگتر



adonis27
شنبه 23 آذر 1392, 16:11 عصر
سلام سوال اینه
توسط تابع بزرگترین مقدار بین 20 عدد را نمایش دهد


اینو نوشتم صورت هم کردم ولی نمیدونم چیو چاپ کنم که بزرگتر رو به خروجی ببره


#include<iostream.h>
#include<conio.h>
#define n 20
void max_sort(int max[],int len);
int main()
{
int a[n];
cout<<"please enter 20 number::\n";
for(int i=0;i<n;i++)
cin>>a[i];
max_sort(a,n);
getch();
return 0;
}
void max_sort(int max[],int len)
{
int maximum,i,j;
for (i = len-1;i>0; i--)
for(j = 0;j<i;j++)
if (max[j] > max[j+1])
{
maximum=max[j];
max[j]=max[j+1];
max[j+1]=maximum;
}
for (i=0;i<len;i++)
cout<< max[i];

}

Faraz Mehraien
شنبه 23 آذر 1392, 18:46 عصر
سلام سوال اینه
توسط تابع بزرگترین مقدار بین 20 عدد را نمایش دهد


اینو نوشتم صورت هم کردم ولی نمیدونم چیو چاپ کنم که بزرگتر رو به خروجی ببره


#include<iostream.h>
#include<conio.h>
#define n 20
void max_sort(int max[],int len);
int main()
{
int a[n];
cout<<"please enter 20 number::\n";
for(int i=0;i<n;i++)
cin>>a[i];
max_sort(a,n);
getch();
return 0;
}
void max_sort(int max[],int len)
{
int maximum,i,j;
for (i = len-1;i>0; i--)
for(j = 0;j<i;j++)
if (max[j] > max[j+1])
{
maximum=max[j];
max[j]=max[j+1];
max[j+1]=maximum;
}
for (i=0;i<len;i++)
cout<< max[i];

}

با سلام.اون for آخر بردار و خط آخر و اینجوری بنویس
cout<<maximum;

fahimeh1512
شنبه 23 آذر 1392, 18:47 عصر
مگه باید ارایه رو مرتب کنی بعد بزرگترین رو چاپ کنی؟ اون حلقه if که گذاشتی ک داره مرتب سازی میکنه
ولی برای چاپ کردن ماکزیمم میتونی مثلا همون متغیر maximum رو مساوی اولین عنصر ارایه ت قرار بدی بعد با یه حلقه for مقدار maximum رو با تک تک عناصر ارایه مقایسه کنی و اگه عنصری بزرگتر از ماکزیمم فعلی بود اون عنصر رو تو maximum قرار بده
اینطوری یه بار که کل ارایه رو پویش کنی ماکزیمم پیدامیشه

aminsaeedi
شنبه 23 آذر 1392, 18:52 عصر
شما اگر بخواهید فقط بزرگترین عدد رو نمایش بدهید احتیاج به مرتب سازی نیست

محتوای اولین خونه آرایه رو داخل متغیر ماکزیمم می ریزید سپس توی یک حلقه اون رو با بقیه عناصر مقایسه می کنید و اگر کمتر بود مقدار بزرگتر رو جایگزین می کنید و در آخر هم همون متغیر ماکزیمم رو نمایش می دید
در ضمن احتیاجی به فرستادن ثابت n به تابع نیست شما به جای len از n استفاده کنید همین. چون ثابت هست در تابع قابل شناسایی هست

adonis27
شنبه 23 آذر 1392, 18:55 عصر
من خودم خواستم سورتشم بکنم و نمایشش بدم


#include<iostream.h>
#include<conio.h>
#define n 5
void max_sort(int max[],int len);
int main()
{
int a[n];
cout<<"please enter 20 number::\n";
for(int i=0;i<n;i++)
cin>>a[i];
max_sort(a,n);
getch();
return 0;
}
void max_sort(int max[],int len)
{
int maximum,i,j;
for (i = len-1;i>0; i--)
for(j = 0;j<i;j++)
if (max[j] > max[j+1])
{
maximum=max[j];
max[j]=max[j+1];
max[j+1]=maximum;
}
// for (i=0;i<len;i++)
// cout<< max[i]<<"\n";
cout<<"max::"<<max[len-1];

}

این کد درستشه که یکی از بچه ها لطف کرد تو یه سایت دیگه بهم داد

adonis27
شنبه 23 آذر 1392, 18:58 عصر
درست کار میکنه میخوای کامپایل کن

mohammad91
پنج شنبه 11 اردیبهشت 1393, 00:15 صبح
سلام برنامتونو دیدم با یه تغییر کوچولو تعداد تکرار عدد بزرگه رو مشخص میتونیم بکنیم:متفکر:#include<iostream >
#include<conio.h>
#define n 10
using namespace std;
void max_sort(int max[],int len);
int main()
{
int a[n],b,c;
cout<<"please enter 10 number::\n";
for(int i=0;i<n;i++)
cin>>a[i];
max_sort(a,n);



cin.get();
cin.get();
return 0;
}
void max_sort(int max[],int len)
{
int maximum,i,j,b;
for (i = len-1;i>0; i--)
for(j = 0;j<i;j++)
if (max[j] > max[j+1])
{
maximum=max[j];
max[j]=max[j+1];
max[j+1]=maximum;
}
// for (i=0;i<len;i++)
// cout<< max[i]<<"\n";
b=max[len-1];
cout<<"max::"<<max[len-1];
int c,REPEAT=0;
c=10;
for(j=0;j<=c;j++)
if(b==max[j])

REPEAT++;
cout<<endl<<"REPEAT="<<REPEAT;

}:کف: