واضح آرشیو وب فارسی:سایت ریسک: View Full Version : تو رو خدا کمک کنید m***r_11030-01-2008, 02:05 PM:42:این پروژه 3error داره هر کی بلده برای فردا لازمش دارم برام بفرسته:37: #include<stdio.h> #include<conio.h> #include<math.h> int knapsack(int totalw,int n); int sort (int p[],int w[]); int p[10],w[10]; main() { int i,n,totalw; printf("enter n,w"); scanf("%d",&n,&w); knapsack(totalw,n); } int knapsack(totalw,n) { int i,j,u; float x[10]; for(i=0;i<n;i++) { printf("enter p[i] and w[i]"); scanf("%d,%d",&p[i],&w[i]); } sort ( p[],w[] ); for ( i=0 ; i<=n ; i++ ) x[i]=0; u=totalw; for ( i=0; i<= n ;i++ ) { if (w[i] > u ) break; x[i] = 1; u =u- w[i]; } if( i<n) x[i] = u/w[i]; } int sort ( p[],w[] ) { int temp1 ,temp2; for ( i=0 ; i<n ;i ++) { if( p[i]/w[i] < p[i+1] /w[i+1] ) temp1 =p[i]; p[i]=p[i+1]; p[i+1]=temp1; temp2=w[i]; w[i]=w[i+1]; w[i+1]= temp2; return ( p[] , w[] ); } } asire-dell02-02-2008, 08:48 PM:42:این پروژه 3error داره هر کی بلده برای فردا لازمش دارم برام بفرسته:37: #include<stdio.h> #include<conio.h> #include<math.h> int knapsack(int totalw,int n); int sort (int p[],int w[]); int p[10],w[10]; main() { int i,n,totalw; printf("enter n,w"); scanf("%d",&n,&w); knapsack(totalw,n); } int knapsack(totalw,n) { int i,j,u; float x[10]; for(i=0;i<n;i++) { printf("enter p[i] and w[i]"); scanf("%d,%d",&p[i],&w[i]); } sort ( p[],w[] ); for ( i=0 ; i<=n ; i++ ) x[i]=0; u=totalw; for ( i=0; i<= n ;i++ ) { if (w[i] > u ) break; x[i] = 1; u =u- w[i]; } if( i<n) x[i] = u/w[i]; } int sort ( p[],w[] ) { int temp1 ,temp2; for ( i=0 ; i<n ;i ++) { if( p[i]/w[i] < p[i+1] /w[i+1] ) temp1 =p[i]; p[i]=p[i+1]; p[i+1]=temp1; temp2=w[i]; w[i]=w[i+1]; w[i+1]= temp2; return ( p[] , w[] ); } } من خطاهاش رو پيدا کردم ولي اينکه پروزه شما جواب درست مي ده يا نه نمي دونم.آخه کار پروژه رو نمي دونم چيه. #include"iostream.h" #include<stdio.h> #include<conio.h> #include<math.h> int knapsack(int totalw,int n); int sort (int p[],int w[],int n); int p[10],w[10]; //****************************** main() { clrscr(); int i,n,totalw; printf(" enter n , w "); scanf("%d",&n,&w); knapsack(totalw,n); return 0; } //****************************** int knapsack(int totalw,int n) { int i,j,u; float x[10]; for(i=0;i<n;i++) { printf(" enter p[i] and w[i]"); scanf("%d,%d",&p[i],&w[i]); } sort(&p[i],&w[i],n); for (i=0;i<=n;i++) { x[i]=0; u=totalw; } for( i=0;i<= n ;i++) { if(w[i]>u) break; x[i]=1; u=u-w[i]; } if(i<n) x[i]= u/w[i]; return 0; } //****************************** int sort ( int p[],int w[],int n) { int temp1,temp2; for(int i=0;i<n;i++) { if(p[i]/w[i]<p[i+1]/w[i+1]) { temp1 =p[i]; p[i]=p[i+1]; p[i+1]=temp1; temp2=w[i]; w[i]=w[i+1]; w[i+1]= temp2; } return (p[i],w[i]); } return 0; } //****************************** يه جا سمي کالن نذاشته بودي. يه جا متغير ها رو که آرايه تعريف کرده بودي بايد از امپرسنت استفاده مي کردي که نکرده بودي. اگه مي خواي جواب تابع به تابع اصلي برگردد بايد از نوع پارامتر ارجاعي بنويسي. وگرنه از پارامتر مقدار استفاده کن. و در اخر اينکه وقتي از دستور for يا if استفاده مي کني که بيشتر از يک دستور دارد بايد از آکولاد استفاده کني وگرنه فقط يک دستور را براي حلقه اجرا مي کند. سئوالي بود در خدمتيم:10: m***r_11010-02-2008, 11:09 AMمن خطاهاش رو پيدا کردم ولي اينکه پروزه شما جواب درست مي ده يا نه نمي دونم.آخه کار پروژه رو نمي دونم چيه. #include"iostream.h" #include<stdio.h> #include<conio.h> #include<math.h> int knapsack(int totalw,int n); int sort (int p[],int w[],int n); int p[10],w[10]; //****************************** main() { clrscr(); int i,n,totalw; printf(" enter n , w "); scanf("%d",&n,&w); knapsack(totalw,n); return 0; } //****************************** int knapsack(int totalw,int n) { int i,j,u; float x[10]; for(i=0;i<n;i++) { printf(" enter p[i] and w[i]"); scanf("%d,%d",&p[i],&w[i]); } sort(&p[i],&w[i],n); for (i=0;i<=n;i++) { x[i]=0; u=totalw; } for( i=0;i<= n ;i++) { if(w[i]>u) break; x[i]=1; u=u-w[i]; } if(i<n) x[i]= u/w[i]; return 0; } //****************************** int sort ( int p[],int w[],int n) { int temp1,temp2; for(int i=0;i<n;i++) { if(p[i]/w[i]<p[i+1]/w[i+1]) { temp1 =p[i]; p[i]=p[i+1]; p[i+1]=temp1; temp2=w[i]; w[i]=w[i+1]; w[i+1]= temp2; } return (p[i],w[i]); } return 0; } //****************************** يه جا سمي کالن نذاشته بودي. يه جا متغير ها رو که آرايه تعريف کرده بودي بايد از امپرسنت استفاده مي کردي که نکرده بودي. اگه مي خواي جواب تابع به تابع اصلي برگردد بايد از نوع پارامتر ارجاعي بنويسي. وگرنه از پارامتر مقدار استفاده کن. و در اخر اينکه وقتي از دستور for يا if استفاده مي کني که بيشتر از يک دستور دارد بايد از آکولاد استفاده کني وگرنه فقط يک دستور را براي حلقه اجرا مي کند. سئوالي بود در خدمتيم:10: ممنون از کمکتون من این برنامه رو نوشتم error هاشم رفع کردم موقع کامپایل error نمی گیره ولی موقع اجرا error داره برنامه هم کوله پشتی به روش حریصانه است #include<stdio.h> #include<conio.h> #include<math.h> void knapsack(int totalw,int n); int sort (int p[],int w[],int n); int p[10],w[10]; main() { int i,n,totalw; printf("enter n,totalw"); scanf("%d",&n,&totalw); knapsack(0,n); getch(); } void knapsack(totalw,n) { int i,j,u; float x[10]; for(i=0;i<n;i++) { printf("enter p[i] and w[i]"); scanf("%d,%d",&p[i],&w[i]); } sort (p,w,n); printf("sort p[i] and w[i]: "); for(i=0;i<n;i++) printf("%d,%d",&p[i],&w[i]); for (i=0;i<n;i++) x[i]=0; u=totalw; for (i=0;i<n;i++) { if (w[i]>u) break; x[i]=1; u=u-w[i]; } if(i<n) x[i] = u/w[i]; printf(" x[i] "); } int sort (int p[],int w[],int n ) { int i,temp1 ,temp2; for ( i=0 ; i<n ;i ++) if( p[i] /w[i] < p[i+1] /w[i+1] ) { temp1 =p[i]; p[i]=p[i+1]; p[i+1]=temp1; temp2=w[i]; w[i]=w[i+1]; w[i+1]= temp2; } } سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 498]