مشاهده نسخه کامل
: تو رو خدا کمک کنید
m***r_110
30-01-2008, 14:05
: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-dell
02-02-2008, 20:48
: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_110
10-02-2008, 11:09
من خطاهاش رو پيدا کردم ولي اينکه پروزه شما جواب درست مي ده يا نه نمي دونم.آخه کار پروژه رو نمي دونم چيه.
#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]:\n");
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;
}
}
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.