.
اطلاعات کاربری
درباره ما
دوستان
خبرنامه
آخرین مطالب
لینکستان
نظر سنجی
دیگر موارد
آمار وب سایت

مرتب سازی

فرض کنید که به شما آرایه ای بدهند و از شما بخواهند که بزرگترین عنصر این آرایه را در خروجی نمایش دهید. 

برای این کار برنامه ای خواهید نوشت که تنها عنصر ماکزیمم را به شما بدهد.


حال فرض کنید که از شما بپرسند عنصر 5 ام این آرایه به ترتیب بزرگ به کوچک چیست؟ آن وقت چکار خواهید کرد؟


برای حل این قبیل مسائل باید کل آرایه را مرتب کنیم!


الگوریتمهای مختلفی تا امروز برای مرتب سازی آرایه ها ارائه شده است.

اما از ساده ترین آنها می توان به سه نوع مرتب سازی زیر اشاره نمود:



1-مرتب سازی انتخابی یا selection sort

2

2- مرتب سازی درجی یا insertion sort

3

3- مرتب سازی حبابی یا bubble sort


در ادامه الگوریتم مرتب سازی هر کدام از این روشها توضیح داده خواهند شد

 

1- مرتب سازی انتخابی یا Selection sort

در این نوع مرتب سازی از اولین خانه آرایه شروع می کنیم و این خانه را با خانه های بعد از خودش تا آخر آرایه، یکی یکی مقایسه می کنیم و هر جا که مقدار خانه ای از خانه ی اولی بیشتر بود مقادیر این دو خانه را جا به جا می کنیم.

مثلا خانه ی سوم هستیم و خانه های صفرم تا دوم را مرتب کرده ایم. خانه ی سوم را با خانه های چهارم تا آخر آرایه یکی یکی مقایسه میکنیم. حال اگر خانه ی هفتم مقداری بیشتر از خانه ی سوم داشت مقدار این دو خانه را همان جا، جا به جا می کنیم.

بعد از آن دوباره خانه ی سوم را( که الان مقدارش عوض شده است) با خانه های هشتم و تا آخر آرایه مقایسه می کنیم و این کار را تا آخر ادامه میدهیم . در انتها خانه ی سوم با بزرگترین مقداری که در خانه های سوم تا آخر آرایه وجود داشته است، پر شده است.


این کار را برای تمام خانه های آرایه( غیر از آخرین خانه که به مقایسه ای احتیاج ندارد) انجام می دهیم.

مانند این شکل

2- مرتب سازی درجی یاInsertion sort

در این روش مرتب سازی خانه ی دوم آرایه را انتخاب می کنیم و این خانه را با خانه ی قبلی خود مقایسه می کنیم و اگر بزرگتر بود پشت سر خانه ی قبلی خود، قرار میگیرد.
در مقایسه های بعدی هر خانه را( key) با خانه های قبل از خودش یکی یکی مقایسه می کنیم و تا زمانی پیش می رویم که به یک خانه برسیم که از کلید یا key بزرگتر باشد. پس دیگر نباید پیش برویم و باید کلید را در محلی که به آن رسیده ایم قرار بدهیم.

این روش را می توان با تصویر نیز شرح داد:


3- مرتب سازی حبابی یا Bubble sort

روش مرتب سازی مثل بالا آمدن حبابهای سبک و بعد حبابهای سنگین تر در یک ظرف مایع می باشد. در این روش هر خانه با خانه ی بعدی خود مقایسه می شود و اگر کوچکتر بود با هم جابه جا می شوند ( می خواهیم اعداد کوچکتر یا حبابهای کمتر را به انتهای آرایه حرکت دهیم.) 
پس از انتهای این مقایسه ها اتفاقی که رخ داده این است که کوچکترین عدد( یا حباب) به انتهای آرایه فرستاده شده است.
خب باید این کار را برای همه ی خانه های آرایه انجام دهیم تا تمام خانه ها مرتب شوند. پس کل این مقایسه ها در یک حلقه ی دیگر به طول آرایه می باشند.

با استفاده از شکل بیشتر با این روش آشنا می شوید.

 

 

 

 



:: موضوعات مرتبط: آرایه , ,
:: بازدید از این مطلب : 256
|
امتیاز مطلب : 133
|
تعداد امتیازدهندگان : 47
|
مجموع امتیاز : 47
ن : Hamed HMD
ت : چهار شنبه 29 مرداد 1393

مرتب سازی

فرض کنید که به شما آرایه ای بدهند و از شما بخواهند که بزرگترین عنصر این آرایه را در خروجی نمایش دهید. 

برای این کار برنامه ای خواهید نوشت که تنها عنصر ماکزیمم را به شما بدهد.


حال فرض کنید که از شما بپرسند عنصر 5 ام این آرایه به ترتیب بزرگ به کوچک چیست؟ آن وقت چکار خواهید کرد؟


برای حل این قبیل مسائل باید کل آرایه را مرتب کنیم!


الگوریتمهای مختلفی تا امروز برای مرتب سازی آرایه ها ارائه شده است.

اما از ساده ترین آنها می توان به سه نوع مرتب سازی زیر اشاره نمود:



1-مرتب سازی انتخابی یا selection sort

2

2- مرتب سازی درجی یا insertion sort

3

3- مرتب سازی حبابی یا bubble sort


در ادامه الگوریتم مرتب سازی هر کدام از این روشها توضیح داده خواهند شد

 

1- مرتب سازی انتخابی یا Selection sort

در این نوع مرتب سازی از اولین خانه آرایه شروع می کنیم و این خانه را با خانه های بعد از خودش تا آخر آرایه، یکی یکی مقایسه می کنیم و هر جا که مقدار خانه ای از خانه ی اولی بیشتر بود مقادیر این دو خانه را جا به جا می کنیم.

مثلا خانه ی سوم هستیم و خانه های صفرم تا دوم را مرتب کرده ایم. خانه ی سوم را با خانه های چهارم تا آخر آرایه یکی یکی مقایسه میکنیم. حال اگر خانه ی هفتم مقداری بیشتر از خانه ی سوم داشت مقدار این دو خانه را همان جا، جا به جا می کنیم.

بعد از آن دوباره خانه ی سوم را( که الان مقدارش عوض شده است) با خانه های هشتم و تا آخر آرایه مقایسه می کنیم و این کار را تا آخر ادامه میدهیم . در انتها خانه ی سوم با بزرگترین مقداری که در خانه های سوم تا آخر آرایه وجود داشته است، پر شده است.


این کار را برای تمام خانه های آرایه( غیر از آخرین خانه که به مقایسه ای احتیاج ندارد) انجام می دهیم.

مانند این شکل

2- مرتب سازی درجی یاInsertion sort

در این روش مرتب سازی خانه ی دوم آرایه را انتخاب می کنیم و این خانه را با خانه ی قبلی خود مقایسه می کنیم و اگر بزرگتر بود پشت سر خانه ی قبلی خود، قرار میگیرد.
در مقایسه های بعدی هر خانه را( key) با خانه های قبل از خودش یکی یکی مقایسه می کنیم و تا زمانی پیش می رویم که به یک خانه برسیم که از کلید یا key بزرگتر باشد. پس دیگر نباید پیش برویم و باید کلید را در محلی که به آن رسیده ایم قرار بدهیم.

این روش را می توان با تصویر نیز شرح داد:


3- مرتب سازی حبابی یا Bubble sort

روش مرتب سازی مثل بالا آمدن حبابهای سبک و بعد حبابهای سنگین تر در یک ظرف مایع می باشد. در این روش هر خانه با خانه ی بعدی خود مقایسه می شود و اگر کوچکتر بود با هم جابه جا می شوند ( می خواهیم اعداد کوچکتر یا حبابهای کمتر را به انتهای آرایه حرکت دهیم.) 
پس از انتهای این مقایسه ها اتفاقی که رخ داده این است که کوچکترین عدد( یا حباب) به انتهای آرایه فرستاده شده است.
خب باید این کار را برای همه ی خانه های آرایه انجام دهیم تا تمام خانه ها مرتب شوند. پس کل این مقایسه ها در یک حلقه ی دیگر به طول آرایه می باشند.

با استفاده از شکل بیشتر با این روش آشنا می شوید.

 

 

 

 



:: موضوعات مرتبط: آرایه , ,
:: بازدید از این مطلب : 249
|
امتیاز مطلب : 130
|
تعداد امتیازدهندگان : 46
|
مجموع امتیاز : 46
ن : Hamed HMD
ت : چهار شنبه 29 مرداد 1393

این برنامه توپی است که به زمین می خورد و پرتاب می شود.

توپک



:: موضوعات مرتبط: گرافیک , ,
:: بازدید از این مطلب : 306
|
امتیاز مطلب : 149
|
تعداد امتیازدهندگان : 49
|
مجموع امتیاز : 49
ن : پرهام موسوی
ت : سه شنبه 28 مرداد 1393
.

من برنامه آدمکی را نوشتم که می چرخد و exe آن را اینجا قرار داده ام.

آدمک چرخان



:: بازدید از این مطلب : 411
|
امتیاز مطلب : 133
|
تعداد امتیازدهندگان : 43
|
مجموع امتیاز : 43
ن : پرهام موسوی
ت : دو شنبه 27 مرداد 1393
.

سوال:n را ورودی گرفته و n امین عدد سری فیبوناچی را با استفاده از آرایه چاپ کند.

جواب:  

#include
#include
void main()
{
long int a[90000];
long int n,b,d,c;
a[0]=1;
a[1]=1;
for (int i=2;i<90000;i++) a[i]=a[i-1]+a[i-2];
cout<<"jomle mored nazar khod ra vared konid:(barabar ya kamtar az 90000)";
cin>>n;
cout<<"----------------"<<endl;
cout<<"loading..."<<endl;
for (c=2;c<=2000000000;c++) d=(d+1)-1;
cout<<"----------------"<<endl;
cout<<"adad mored nazar shoma(shomare "<<n<<") az seri adad fibonachi barabar ast ba:"<<a[n-1]<<endl;
cin>>b;
}

لینک دانلود:

http://s5.picofile.com/d/951c7f13-a0c1-46e8-a9c1-8937aad88da8/shomare_2.cpp



:: موضوعات مرتبط: آرایه , ,
:: بازدید از این مطلب : 235
|
امتیاز مطلب : 175
|
تعداد امتیازدهندگان : 54
|
مجموع امتیاز : 54
ن : پرهام موسوی
ت : جمعه 24 مرداد 1393

سوال:دو آرایه به طول n و m و با هم ترکیب کند و یک آرایه بسازد و چاپ کند.

جواب:

#include  
#include
void main()
{
int n,m,c,i,d,e;
c=0;
d=0;
cout<<"tedad onsor araye 1 va 2 ra vared konid:(kamtar ya mosavi 50000} ";
cin>>n>>m;
long int arr1[50000],arr2[50000],arr3[100000];
for (i=0;i<n;i++)
{cout<<"enter adad shomare "<<i+1<<" dar araye aval : ";
cin>>arr1[i];}
cout<<"--------------"<<endl;
for (i=0;i<m;i++)
{cout<<"enter adad shomare "<<i+1<<" dar araye dovom : ";
cin>>arr2[i];}
cout<<"--------------"<<endl;
for (i=0;i<n;i++)
{c=i;
arr3[i]=arr1[d];
d=d+1;}
d=0;
for (i=c+1;i<n+m;i++)
{arr3[i]=arr2[d];
d=d+1;}
cout<<"shomare\t\tadad dakhel"<<endl;
cout<<"--------------------------------"<<endl;
for (i=0;i<n+m;i++)
{cout<<i+1<<"\t\t"<<arr3[i]<<endl;}
cin>>e;
}

لینک دانلود:

http://s5.picofile.com/d/38018cf7-6873-463e-b78e-53ba8424de19/shomare1.cpp



:: بازدید از این مطلب : 208
|
امتیاز مطلب : 158
|
تعداد امتیازدهندگان : 55
|
مجموع امتیاز : 55
ن : پرهام موسوی
ت : جمعه 24 مرداد 1393

سوال: برنامه n را بگیرد و آرایه ای به طول آن بسازد و آن را بگیرد چاپ کند و عناصر آن را چاپ کند و دوباره آن را 4 برابر کند و چاپ کند.

جواب:

#include  
#include
void main()
{
int n,c,i;
cout<<"tedad onsor ra vared konid:(kamtar ya mosavi 160000} ";
cin>>n;
long int arr[160000];
for (i=0;i<n;i++)
{cout<<"enter adad shomare "<<i+1<<" : ";
cin>>arr[i];}
cout<<"--------------"<<endl;
for (i=0;i<n;i++) cout<<"onsor shomare "<<i+1<<"= "<<arr[i]<<endl;
cout<<"--------------"<<endl;
for (i=0;i<n;i++)
{arr[i]=arr[i]*4;
cout<<"4X onsor shomare "<<i+1<<"= "<<arr[i]<<endl;}
cin>>c;
}

لینک دانلود:

http://s5.picofile.com/d/38018cf7-6873-463e-b78e-53ba8424de19/shomare1.cpp



:: موضوعات مرتبط: آرایه , ,
:: بازدید از این مطلب : 183
|
امتیاز مطلب : 128
|
تعداد امتیازدهندگان : 42
|
مجموع امتیاز : 42
ن : پرهام موسوی
ت : جمعه 24 مرداد 1393

سوال:برنامه یک کاراکتر را از ورودی دریافت کند و اگر L بود شکل سمت چپ و اگر R بود شکل سمت راست را بکشد وگرنه غلط بگیرد.

پاسخ:

#include

#include

void main( )

{

char h;

cout<<"harf mored nazar ra vared konid."<<endl;

cin>>h;

initwindow(800,800);

if (h=='r'||h=='R')

{rectangle(300,300,400,400);

circle(350,350,50);}

else if (h=='l'||h=='L')

{rectangle(300,300,500,400);

line(300,300,500,400);

line(300,400,500,300);}

else cout<<"harf vared shode galat ast."<<endl;

}

لینک دانلود:

http://s5.picofile.com/file/8132651684/tamrin5.cpp.html

(برای دانلود ابتدا روی "دریافت لینک دانلود" و سپس روی "دانلود فایل" کلیک کنید.)



:: موضوعات مرتبط: گرافیک , ,
:: بازدید از این مطلب : 189
|
امتیاز مطلب : 40
|
تعداد امتیازدهندگان : 11
|
مجموع امتیاز : 11
ن : پرهام موسوی
ت : چهار شنبه 8 مرداد 1393

11- برنامه ای بنویسید مه مجموع مقسوم علیه های یک عدد را چاپ کند.

 #include
int main()
{
int a,i=1,s=0;
cin>>a;
while (i<=a)
{
if (a%i==0) s=s+1;
i=i++;
}
cout<<s<<endl;
return 0;
}


:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 157
|
امتیاز مطلب : 56
|
تعداد امتیازدهندگان : 20
|
مجموع امتیاز : 20
ن : محسن خلفی
ت : جمعه 3 مرداد 1393
.

10- برنامه ای بنویسید که مقسوم علیه های یک عدد را چاپ کند.

#include

int main()

{

int a,i=1;

cin>>a;

while (i<=a)

{

if (a%i==0) cout<<i<<endl;

i=i++;

}

return 0;

} 

 

 

 



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 159
|
امتیاز مطلب : 69
|
تعداد امتیازدهندگان : 20
|
مجموع امتیاز : 20
ن : محسن خلفی
ت : جمعه 3 مرداد 1393
.

سوال 1 while:

برنامه ای بنویسید که اعداد 1 تا 100 را در خروجی چاپ نماید.

()int main

Int a

(++whaile (a=1,a<100,a

>>cout<<a

return 0;


تصحیح شده در سایت www.ideone.com

یک غلط نوشتاری در int a



:: بازدید از این مطلب : 61
|
امتیاز مطلب : 33
|
تعداد امتیازدهندگان : 11
|
مجموع امتیاز : 11
ن : حامد کاظمی
ت : جمعه 3 مرداد 1393
.

سوال 4 while:

برنامه ای بنویسید کهاعداد مضرب 4 سه رقمی را چاپ کند.

()int main

int A

(while(a=4,a*a,a<996

>>cout<<a

return 0;

تصحیح شده در سایت www.idene.com

یک غلط نوشتاری در int a



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 149
|
امتیاز مطلب : 72
|
تعداد امتیازدهندگان : 23
|
مجموع امتیاز : 23
ن : حامد کاظمی
ت : جمعه 3 مرداد 1393
.

9- برنامه ای بنویسید که تا دریافت یک ورودی خاص از ورودی کاراکتر گرفته و همان کاراکتر را چاپ کند.

#include

int main()

{

int i=1;

char a;

while (i!=100)

{

cin>>a;

cout<<a<<endl;

}

return 0;

}



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 140
|
امتیاز مطلب : 80
|
تعداد امتیازدهندگان : 26
|
مجموع امتیاز : 26
ن : محسن خلفی
ت : جمعه 3 مرداد 1393
.

8- برنامه ای بنویسید که یک عدد را از ورودی گرفته و فاکتوریل آن را محاسبه و چاپ کند.

#include

int main()

{

int a,i=1,s=1;

cin>>a;

while (i<=a)

{

s=s*i;

i=i++;

}

cout<<s<<endl;

return 0;

}



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 311
|
امتیاز مطلب : 74
|
تعداد امتیازدهندگان : 25
|
مجموع امتیاز : 25
ن : محسن خلفی
ت : جمعه 3 مرداد 1393
.

سوال 3 while:

برنامه ای بنویسید که اعداد مضرب سه 1تا 100را در خروجی چاپ کند.

()int main

int A

(while(a=3,a*a,a<97

>>cout<<a

return 0;


تصحیح شده در سایت www.ideone.com

یک غلط نوشتاری در int a



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 52
|
امتیاز مطلب : 70
|
تعداد امتیازدهندگان : 27
|
مجموع امتیاز : 27
ن : حامد کاظمی
ت : جمعه 2 مرداد 1393
.

7- برنامه ای بنویسید که یک عدد را از ورودی گرفته و حاصل ضرب اعداد مضرب3 کوچکتر مساوی آن را چاپ نماید.

#include

int main()

{

int a,i=1,s=1;

cin>>a;

while (i<=a)

{

if (i%3==0) s=s*i;

i=i++;

}

cout<<s<<endl;

return 0;

}



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 141
|
امتیاز مطلب : 65
|
تعداد امتیازدهندگان : 24
|
مجموع امتیاز : 24
ن : محسن خلفی
ت : جمعه 3 مرداد 1393
.

سوال 2 while:

برنامه ای بنویسید که اعداد زوج2 تا 100را در خروجی چاپ نماید.

()int main

int a

(++++while(a=2,a<=98,a

>>cout

تصحیح شده در سایت www.ideone.com

 

غلط نوشتاری در int a

 



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 73
|
امتیاز مطلب : 33
|
تعداد امتیازدهندگان : 12
|
مجموع امتیاز : 12
ن : حامد کاظمی
ت : جمعه 2 مرداد 1393
.

6- برنامه ای بنویسید که یک عدد را از ورودی گرفته و حاصل ضرب اعداد زوج کوچکتر مساوی آن را چاپ نماید.

#include                                                                          

int main( )

{

int a,i=1;

cin>>a;

while (i<=a)

{

if (i%2==0) cout<<i<<endl;

i=i++;

}

return 0;

}



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 134
|
امتیاز مطلب : 63
|
تعداد امتیازدهندگان : 23
|
مجموع امتیاز : 23
ن : محسن خلفی
ت : جمعه 3 مرداد 1393
.

سوال:برنامه ای بنویسید که یک عدد در مبنای 10 را از ورودی گرفته و آن را به مبنای 2 ببرد.

پاسخ:

#include
void main()
{
int a,f,x,d,c,n;
cout<<"adad bar mabnaye 10 ra vared konid."<<endl;
cin>>a;
f=0;
c=0;
while (a>0)
{x=a/2;
d=a%2;
if (a%2==0)
c=c+1;
else
{
for (n=1;n<=c;n++)
d=d*10;
f=f+d;}
a=x;}
if (f!=0) cout<<"adad bar mabnaye 2 shoma: "<<f<<endl;
else cout<<"adad bar mabnay 2 shoma barabar ba "<<c<<" ta sefr ast."<<endl;
}

لینک دانلود:

http://s5.picofile.com/file/8131838000/tamrin23.cpp.html

(برای دانلود ابتدا روی گزینه "دریافت لینک دانلود" و سپس روی "دریافت فایل" کلیک کنید.)



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 225
|
امتیاز مطلب : 60
|
تعداد امتیازدهندگان : 26
|
مجموع امتیاز : 26
ن : پرهام موسوی
ت : جمعه 3 مرداد 1393
.

سوال:برنامه ای بنویسید که عدد n را از کاربر بگیرد و جمله n ام سری فیبوناچی را اعلام کند.

پاسخ:

#include
void main()
{
int n,b,c,o,e;
cout<<"shomare gesmat mored nazar ra vared konid: ";
cin>>n;
b=1;
c=1;
o=0;
if (n!=1)
{while (b<n)
{e=c;
c=c+o;
o=e;
b=b++;}
cout<<"gesmat mored nazar az adad fibonaghi barabar ast ba: "<<c<<endl;}
else cout<<"gesmat mored nazar az adad fibonaghi barabar ast ba: "<<1<<endl;
}

لینک دانلود:

http://s5.picofile.com/file/8131823800/tamrin22.cpp.html

(برای دانلود ابتدا روی گزینه "دریافت لینک دانلود" و سپس روی "دریافت فایل" کلیک کنید.)



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 165
|
امتیاز مطلب : 61
|
تعداد امتیازدهندگان : 21
|
مجموع امتیاز : 21
ن : پرهام موسوی
ت : جمعه 3 مرداد 1393
.

سوال:برنامه ای بنویسید که 10 کاراکتر را از ورودی گرفته و تعداد کاراکتر های حروف صدا دار را بشمرد.

پاسخ:

#include
void main()
{
char a;
int b,c;
b=1;
c=0;
while (b<=10)
{cout<<"harf mored nazar khod ra vared konid:(harf shomare "<<b<<" )";
cin>>a;
if (a=='o'||a=='O'||a=='a'||a=='A'||a=='e'||a=='E'||a=='u'||a=='U'||a=='i'||a=='I')
c=c+1;
b=b+1;}
cout<<"tedad horof seda dar: "<<c<<endl;
}

لینک دانلود:

http://s5.picofile.com/file/8131823142/tamrin21.cpp.html

(برای دانلود ابتدا روی گزینه "دریافت لینک دانلود" و سپس روی "دریافت فایل" کلیک کنید.)



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 335
|
امتیاز مطلب : 79
|
تعداد امتیازدهندگان : 24
|
مجموع امتیاز : 24
ن : پرهام موسوی
ت : جمعه 3 مرداد 1393
.

سوال:برنامه ای بنویسید که تا دریافت عدد 1- از ورودی عدد مثبت بگیرد و پس از دریافت عدد 1- بدون احتساب خود 1- ماکزیمم اعداد وارد شده را اعلام کند.

پاسخ:

#include
void main()
{
int a,b;
cout<<"adad mored nazar ra vared konid(ta vared shodan'-1'edame darad)"<<endl;
cin>>a;
b=0;
while (a!=-1)
{if (a>b) b=a;
cout<<"baz adad vared konid: ";
cin>>a;}
if (b!=0) cout<<"bozorg tarin adad barabar ast ba: "<<b<<endl;
else cout<<"adad gabel estefadeiy vared nashode."<<endl;
}

لینک دانلود:

http://s5.picofile.com/file/8131824650/tamrin20.cpp.html

(برای دانلود ابتدا روی گزینه "دریافت لینک دانلود" و سپس روی "دریافت فایل" کلیک کنید.)



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 305
|
امتیاز مطلب : 95
|
تعداد امتیازدهندگان : 28
|
مجموع امتیاز : 28
ن : پرهام موسوی
ت : جمعه 3 مرداد 1393
.

سوال:برنامه ای بنویسید که تا دریافت 1- از ورودی عدد مثبت بگیرد و پس از دریافت 1- بدون احتساب خود 1- معدل اعداد وارد شده را اعلام کند.

پاسخ:

#include
void main()
{
int a,b;
float c;
cout<<"adad mored nazar ra vared konid(ta vared shodan'-1'edame darad)"<<endl;
cin>>a;
b=0;
c=0;
while (a!=-1)
{b=b++;
c=c+a;
cout<<"baz adad vared konid: ";
cin>>a;}
if (b!=0) cout<<"moadel barabar ast ba: "<<c/b<<endl;
else cout<<"adad gabel estefadeiy vared nashode."<<endl;
}

لینک دانلود:

http://s5.picofile.com/file/8131824642/tamrin19.cpp.html

(برای دانلود ابتدا روی گزینه "دریافت لینک دانلود" و سپس روی "دریافت فایل" کلیک کنید.)



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 183
|
امتیاز مطلب : 62
|
تعداد امتیازدهندگان : 21
|
مجموع امتیاز : 21
ن : پرهام موسوی
ت : جمعه 3 مرداد 1393
.

سوال:برنامه ای بنویسید که 100 عدد را از ورودی بگیرد و معدل این اعداد را اعلام کند.

پاسخ:

#include
void main()
{
int a,c;
double b;
a=1;
b=0;
while (a<=100)
{cout<<"yek adad vared konid:(adad shomare: "<<a<<" ) ";
cin>>c;
b=b+c;
a=a+1;}
cout<<"moadel adad vared shode: "<<b/100<<endl;
}

لینک دانلود:

http://s5.picofile.com/file/8131824626/tamrin18.cpp.html

(برای دانلود ابتدا روی گزینه "دریافت لینک دانلود" و سپس روی "دریافت فایل" کلیک کنید.)



:: موضوعات مرتبط: WHILE , ,
:: بازدید از این مطلب : 205
|
امتیاز مطلب : 94
|
تعداد امتیازدهندگان : 30
|
مجموع امتیاز : 30
ن : پرهام موسوی
ت : جمعه 3 مرداد 1393
.

برنامه ی زیر حاصل رشته ی زیر را نمایش میدهد:

نکته: در این برنامهورودی نداریم!

#include<iostream.h>

int main()

{

cout<<"enter number"<<endl;

float s=0,f=1,i;

for(i=100;i>0;i--)

{

s=s+f*(i-(i-1)/i);

f=f*-1;

}

cout<<"the sum is"<<s<<endl;

return 0;

}

 برای دانلود فایل روی لینک زیر کلیک کنید:

http://www.uplooder.net/cgi-bin/dl.cgi?key=57c638bee3e1a7e6868ea214dd93c487



:: موضوعات مرتبط: for , ,
:: برچسب‌ها: حاصل رشته ی ,
:: بازدید از این مطلب : 175
|
امتیاز مطلب : 56
|
تعداد امتیازدهندگان : 20
|
مجموع امتیاز : 20
ن : علی خاموشی
ت : پنج شنبه 2 مرداد 1393

_برنامه ای بنویسید که nرا از ورودی گرفته و مجموع n جمله اول سری زیر را نمایش دهد:

 

 

#include<iostream.h>

int main();

{

cout<<"enter number"<<endl;

float n,s=0,f=1,i,a,m=1;

cin>>n;

for(i=1;i<=n;i++)

{

a=(m*m)/((m+1)*(m+1));

s=s+(f*a);

f=f*-1;

m=m+2;

}

cout<<"the sum is:"<<s<<endl;

return 0;

}

برای دانلود فایل روی لینک های زیر کلیک کنید:

http://www.uplooder.net/cgi-bin/dl.cgi?key=c9f050aab5b36142c7a109525402fd73

http://www.uplooder.net/cgi-bin/dl.cgi?key=c186bfc68d33b51874583594d02aefaf



:: موضوعات مرتبط: for , ,
:: برچسب‌ها: مجموع n جمله اول سری ,
:: بازدید از این مطلب : 200
|
امتیاز مطلب : 65
|
تعداد امتیازدهندگان : 25
|
مجموع امتیاز : 25
ن : علی خاموشی
ت : پنج شنبه 2 مرداد 1393

- برنامه ای بنویسید که 5 عدد را از ورودی گرفته و در انتها بزرگترین عدد و همین طور کوچکترین عدد وارد شده را نمایش دهد:

#include<iostream.h>



int main()

{

int min, max;


cout << "Please enter first number " << endl;


int a;

cin >> a;

min = a;

max = a;


cout << "Please enter second number " << endl;

cin >> a;



if(a > max)

max = a;

if(a < min)

min = a;


cout << "Please enter third number " << endl;


cin >> a;

if(a > max)

max = a;


if(a < min)

 min = a;



cout << "Please enter fourth number " << endl;

cin >> a;


if(a > max)

max = a;

if(a < min)

min = a;

cout << "Please enter fifth number " << endl;


cin >> a;


if(a > max)

max = a;

if(a < min)

min = a;


cout << "the Maximun number is: " << max << endl;

cout << "the Minimum number is: " << min << endl;

return 0;

}

 

 



:: موضوعات مرتبط: if , ,
:: برچسب‌ها: 5 عدد را از ورودی گرفته , بزرگترین ,
:: بازدید از این مطلب : 178
|
امتیاز مطلب : 68
|
تعداد امتیازدهندگان : 22
|
مجموع امتیاز : 22
ن : علی خاموشی
ت : پنج شنبه 2 مرداد 1393

- برنامه ای بنویسید که یک عدد با طول 5 رقم را از ورودی گرفته و مغلوب آن را چاپ کند و بررسی کند که آیا عدد آینه ای است یا نه.

مثلا عدد 12321 آینه ای است اما 12343 آینه ای نیست:

#include<iostream.h>

int main()

{

cout << "Please enter a number in 5 digits: " << endl;

int num, num1;


cin >> num;

num1 = num;

int rev = 0;


rev = rev * 10 + (num % 10);

num = num / 10;



rev = rev * 10 + (num % 10);

 num = num / 10;


rev = rev * 10 + (num % 10);

num = num / 10;


rev = rev * 10 + (num % 10);


num = num / 10;


rev = rev * 10 + (num % 10);

num = num / 10;

cout << "your reversed number is: " << rev << endl;


if(num1 == rev)


cout << "your number is mirror number." << endl;


else

cout << "your number is NOT mirror number." << endl;


 return 0;

}

 برای دانلود روی لینک زیر کلیک کنید:

http://www.uplooder.net/cgi-bin/dl.cgi?key=0b8442e9c009935c3b781d4cc5e9e8d2

 

 

 



:: موضوعات مرتبط: if , ,
:: برچسب‌ها: مغلوب آن را چاپ کند ,
:: بازدید از این مطلب : 177
|
امتیاز مطلب : 59
|
تعداد امتیازدهندگان : 19
|
مجموع امتیاز : 19
ن : علی خاموشی
ت : پنج شنبه 2 مرداد 1393

- برنامه ای بنویسید که دو عدد را از ورودی بگیرد و بدون استفاده از % یا مد گرفتن بگوید که آیا دو عدد بر هم بخش پذیر هستند یا نه.

#include<iostream.h>

int main()

{

 cout << "enter two number " << endl;


int num1, num2;


cin >> num1 >> num2;


int d, r;


d = num1 / num2;


r = num1 - num2 * d;

if(r == 0)


{

cout << "bakhshpazir" << endl;


}


else


cout << " bakhsh pazir nistand " << endl;

return 0;

}

 

 

 



:: موضوعات مرتبط: if , ,
:: برچسب‌ها: بدون استفاده از % ,
:: بازدید از این مطلب : 225
|
امتیاز مطلب : 89
|
تعداد امتیازدهندگان : 29
|
مجموع امتیاز : 29
ن : علی خاموشی
ت : چهار شنبه 1 مرداد 1393

- برنامه ای بنویسید که ابتدا موجودی یک حساب را بگیرد سپس مقدار درخواست شده برای برداشت از آن را نیز بگیرد و بیان کند که آیا این برداشت ممکن است یا نه و در صورت امکان برداشت، باقی موجودی حساب را نیز چاپ کند:

#include<iostream.h>

int main()

{


cout << "mojudie hesabe shoma?" << endl;


float a;
 cin >> a;

cout << "mablaghe darkhasti ra vared konid: " << endl;


float b;

cin >> b;

if( a-b >= 0)


{

 cout << " mitavanid az hesabe khod bardasht konid:" << endl;


cout << " baghi mandeye hesabe shoma: "<<a-b<<endl;

}


else


cout << "mablageh vared shoma dar hesabe shoma mojud nemibashad!"<<endl

return 0;

}

 

 



:: موضوعات مرتبط: if , ,
:: برچسب‌ها: ابتدا موجودی یک حساب ,
:: بازدید از این مطلب : 206
|
امتیاز مطلب : 96
|
تعداد امتیازدهندگان : 31
|
مجموع امتیاز : 31
ن : علی خاموشی
ت : چهار شنبه 1 مرداد 1393

 

برنامه ای بنویسید که نمرات یک دانش آموز سال اول دبیرستان را بگیرد و معدل آن را حساب کند و بگوید که آیا مشروط شده است یا خیر . برای نوشتن این برنامه باید توجه داشته باشید که برنامه نام درس را چاپ می کند تا دانش آموز نمره ی خود را وارد کرده و همچنین واحد درس مورد نظر را نیز وارد کند. 

#include<iostream.h>

int main()

{

cout << "lotfan nomre khod va vahede dars ra pas az har dars vared konid."<<endl;



 float r, f, sh, zi, vr, vf, vsh, vzi;


cout << "riazi? vahed? " << endl;


cin >> r >> vr;

cout << "fizik? vahed? " << endl;


cin >> f >> vf;



cout << "shimi? vahed? " << endl;


cin >> sh >> vsh;

cout << "zist? vahed? " << endl;

cin >> zi >> vzi;

float avr = (r * vr + f * vf + zi * vzi + sh * vsh) / 
 (vr + vf + vzi + vsh);

cout << "\n\n\n" << "moadele shoma barabar ast ba: " << avr << endl;


if(avr < 12)


cout << "shoma mashrut shodeid! " << endl;

return 0;

}


 

 

 

 

 

 



:: موضوعات مرتبط: if , ,
:: برچسب‌ها: دانش آموز سال اول دبیرستان را بگیرد و معدل ,
:: بازدید از این مطلب : 184
|
امتیاز مطلب : 51
|
تعداد امتیازدهندگان : 17
|
مجموع امتیاز : 17
ن : علی خاموشی
ت : چهار شنبه 1 مرداد 1393

- برنامه ای بنویسید که a و b را از کاربر بگیرد و مقدار C را محاسبه و در خروجی اعلام کند:

#include<iostream.h>

int main()

{

cout << "please enter two numbers "<<endl;

 


double a, b, c;


cin >> a >> b;



if(a > 0 && b >=0)

{


 c = (a + sqrt(b)) / (a * b - 3);

cout << c;

}

else

if(a < 0 && b < 0)


{


 c = sqrt (a * b);


cout << c;


}

else

if(a == 0 && b == 0)

{

c = 2;


cout << c;


}


else


 cout << "Error"<<endl;

return 0;

}

 



:: موضوعات مرتبط: if , ,
:: برچسب‌ها: a و b را از کاربر بگیرد و مقدار C ,
:: بازدید از این مطلب : 188
|
امتیاز مطلب : 77
|
تعداد امتیازدهندگان : 28
|
مجموع امتیاز : 28
ن : علی خاموشی
ت : چهار شنبه 1 مرداد 1393

4-فرض کنید فرودگاهی دارای سه باند Aو Bو C باشد. اگر نوع پرواز خارجی باشد از باند A و اگر داخلی باشد و سرعت کمتر از 200 کیلومتر داشته باشد از باند B و در غیر آن صورت از باند A استفاده می شود. باند C در مواردی که پرواز دارای عیب فنی می باشد استفاده می شود. برنامه ای بنویسید که با دریافت اطلاعات مورد نیاز، باند مناسب را به برج مراقبت اعلام کند.

#include<iostream.h>

int main()

{

cout << "please enter S for safe and u for unsafe<<endl;

char c;


cin >> c;


if(c == 'u' || c == 'U')

cout << "Landing in C"<<endl;

else

if(c == 's' || c == 'S')

{

cout << "please enter N for national and I for international"<<endl;

char r;


cin >> r;


if(r == 'I' || r == 'i')


cout << "Landing in A"<<endl;

else

if(r == 'N' || r == 'n')


{

cout << "please enter landing speed"<<endl;

int v;


cin >> v;


if(v<200)

cout << "Landing in B"<<endl;

else

cout << "Landing in A"<<endl;


}


else


 cout << "Error"<<endl;

}

else


cout << "Error"<<endl;

return 0;

}

 

 



:: موضوعات مرتبط: if , ,
:: بازدید از این مطلب : 163
|
امتیاز مطلب : 69
|
تعداد امتیازدهندگان : 23
|
مجموع امتیاز : 23
ن : علی خاموشی
ت : چهار شنبه 1 مرداد 1393

3- برنامه ای بنویسید که دو عدد و یک کاراکتر را از کاربر گرفته و اگر کاراکتر علامت + بود حاصلجمع دو عدد و اگر - بود تفریق دو عدد و اگر * بود حاصلضرب دو عدد و اگر / بود حاصل تقسیم غیر صفر دو عدد را اعلام کند:

#include<iostream.h>

int main()

{

cout << "please enter one number, one character [+ - * /] and one another number\n";

double a, b;

char c;


cin >> a >> c >> b;

if(c == '+')

     cout << a + b;


else

if(c == '-')

     cout << a - b;


else if(c == '*')

     cout << a * b;


else

if(c == '/' && b != 0)

     cout << a / b;

else

     cout << "Error"

return 0;

}

 

 



:: موضوعات مرتبط: if , ,
:: برچسب‌ها: دو عدد و یک کاراکت ,
:: بازدید از این مطلب : 204
|
امتیاز مطلب : 67
|
تعداد امتیازدهندگان : 23
|
مجموع امتیاز : 23
ن : علی خاموشی
ت : چهار شنبه 1 مرداد 1393

2-برنامه ای بنویسید که مختصات دو نقطه از دو خط متمایز را بگیرد و وضعیت این دو خط نسبت به هم را اعلام کند:                                           

#include<iostream.h>

int main()

{

cout << "please enter coordinates of first line" << endl;

int x1, y1, x2, y2;

 cin >> x1 >> y1 >> x2 >> y2;

cout << "please enter coordinates of second line" << endl;

int x3, y3, x4, y4;

 cin >> x3 >> y3 >> x4 >> y4;

double a1 = (y4 - y3) / (x4 - x3);

double a2 = (y2 - y1) / (x2 - x1);

if(a1 == a2)

cout << "Movazi ";

else

if(a1 * a2 == -1)


cout << "amood";

else


cout << "moteghate";

return 0;

}             

 

 

 



:: موضوعات مرتبط: if , ,
:: برچسب‌ها: وضعیت این دو خط ,
:: بازدید از این مطلب : 157
|
امتیاز مطلب : 71
|
تعداد امتیازدهندگان : 24
|
مجموع امتیاز : 24
ن : علی خاموشی
ت : چهار شنبه 1 مرداد 1393

1-برنامه ای بنویسید که سه عدد را از کاربر بگیرد و عدد بزرگتر را اعلام کند: 

#include<iostream.h>

int main()

{

cout<<"enter three number"<<endl;

int a,b,c;

cin>>a>>b>>c;

int max=a;

if(a==b&&a==c)

cout<<"equals";

else if(b>max)

max=b;

if(c>max)

max=c;

cout<<max;

return 0;



:: موضوعات مرتبط: if , ,
:: برچسب‌ها: سه عدد را از کاربر بگیرد و عدد بزرگتر ,
:: بازدید از این مطلب : 165
|
امتیاز مطلب : 80
|
تعداد امتیازدهندگان : 28
|
مجموع امتیاز : 28
ن : علی خاموشی
ت : چهار شنبه 1 مرداد 1393
موضوعات
نویسندگان
آرشیو مطالب
مطالب تصادفی
مطالب پربازدید
چت باکس
تبادل لینک هوشمند
پشتیبانی