amironline
Registered User
من هر چي برنامه كه ميخوام با ماتريس و حافظه پويا بنويسم، درست كار نميكنه!
در ضمن آخر برنامه يه چنين پيغامي ميده
Null pointer assignement
اولي كه يه برنامه ساده هست
دومي هم براي محاسبه جايگشت n و k هست
در ضمن آخر برنامه يه چنين پيغامي ميده
Null pointer assignement
اولي كه يه برنامه ساده هست
کد:
#include<stdio.h>
#include<stdlib.h>
void main()
{
int n,k,i,j;
printf("Enter two number for n,k:\n");
scanf("%d %d",&n,&k);
int **b;
if(!(b=(int**)calloc(n,sizeof(int*))))
{
printf("\n allocation failure.");
exit(0);
}
for(i=0;i<k;i++)
if(!(b[i]=(int *)calloc(k,sizeof(int))))
{
printf("\n allocation failure.");
exit(0);
}
for(i=0;i<n;i++)
for(j=0;j<k;j++)
b[i][j]=(i+1)*(j+1);
for(i=0;i<n;i++)
{
for(j=0;j<k;j++)
printf("%4d",b[i][j]);
printf("\n");
}
}
دومي هم براي محاسبه جايگشت n و k هست
کد:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define min(i,k) ((i<k)?i:k)
int bin(int ,int );
void main()
{
int n,k,r;
clrscr();
printf("Enter two number for n:\n");
scanf("%d",&n);
printf("Enter two number for k:\n");
scanf("%d",&k);
printf("\n%d",bin(n,k));
getch();
}
int bin(int n,int k)
{
int **b;
b=(int**)calloc(n,sizeof(int*));
for(int i=0;i<k;i++)
b[i]=(int *)calloc(k,sizeof(int));
for(i=0;i<=n;i++)
for(int j=0;j<=min(i,k);j++)
if(j==0 || j==i)
b[i][j]=1;
else
b[i][j]=b[i-1][j-1]+b[i-1][j];
return b[n][k];
}