PDA

View Full Version : سوال: برنامه تقسیم گر



میلاد علوی
شنبه 21 شهریور 1388, 00:19 صبح
باسلام دوستان یادمون باشه که برای اینکه انگشت تمسخرمان را به سوی کسی بگیریم سه انگشت دیگر را باید به طرف خود بگیریم
حالا لطفا توجه کنید
ما یه سری متراژ داریم مثلا 1.60 و 2.50 و 1.87 و 5.90 و 1.20 و...
برنامه ای می خوام که بهترین ترکیب این اعداد را در 12 متر به من نشان دهد میخوام کامپیوتر یه جوری اعداد رو ترکیب کنه که کمترین پرت را در 12 متر داشته باشیم

afi_program
شنبه 21 شهریور 1388, 00:51 صبح
یعنی با جمع این اعداد 12 درست بشه؟؟؟

مبین1376
دوشنبه 30 شهریور 1388, 19:02 عصر
دارم روش فکر می کنم.

tdkhakpur
دوشنبه 30 شهریور 1388, 19:22 عصر
سلام
این مشابه کار شماست که قبلا برای یکی از وستان ارسال کرده بودم ولی برای مقدار پول, به این صورت که از سه پول 2و 3و 5 تومانی تعداد ترکیبات را که جمع آنها به 50 تومان میرسد را نشان میدهد.
حالا شما به جای اعداد 2و 3و 5و متراژ خودتان را وارد کنید و به جای 50 عدد 12 را قرار دهید..
به نظر باید روش کمی کار کنید.


#include <iostream.h>
#include <conio.h>
#include <stdio.h>
int array[100], c=0;
void calculate(int rial, int item, int c)
{
if((rial-item)>0 ){
array[c] = item;
if( (rial-5)>0 )
calculate(rial-5, 5, c+1);
if( (rial-3)>0 )
calculate(rial-3, 3, c+1);
if( (rial-2)>0 )
calculate(rial-2, 2, c+1);
}else{
cout<<"\n{";
for( int i=0; i<c; i++ )
cout << array[i] << ",";
cout<<"}";
getch();
}

میلاد علوی
دوشنبه 06 مهر 1388, 00:14 صبح
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
int array[100], c=0;
void calculate(int rial, int item, int c)
{
if((rial-item)>0 ){
array[c] = item;
if( (rial-5)>0 )
calculate(rial-5, 5, c+1);
if( (rial-3)>0 )
calculate(rial-3, 3, c+1);
if( (rial-2)>0 )
calculate(rial-2, 2, c+1);
}else{
cout<<"\n{";
for( int i=0; i<c; i++ )
cout << array[i] << ",";
cout<<"}";
getch();
}

نمیشه به ویبی تبدیلش کنید لطفا

tdkhakpur
دوشنبه 06 مهر 1388, 00:40 صبح
من با c کار میکنم واقعا شرمنده .
امبدوارم دوستان تبدیلش کنند..فقط برای توجه سایر دوستان این پست را ارسال کردم.