Untitled
Anonymous
plain_text
02/27/2026 6:01 AM
1.5 KB
12
Indexable
#include<stdio.h>
unsigned int n,o,p[10],m[10][10],i,j,k,l,q,s[10][10];
void printparenthesis(int i,int j)
{
if(i==j)
{
printf("A %d",i);
return;
}
else
printf("(");
printparenthesis(i,s[i][j]);
printparenthesis(s[i][j]+1,j);
printf(")");
}
int main()
{
printf("enter the number of matrices:");
scanf("%d",&n);
o = n + 1;
printf("enter %d orders for matrices:",0);
for(i=0;i<0;i++)
scanf("%d",&p[i]);
for(i=1;i<=n;i++)
m[i][i]=0;
for(l=2;l<=n;l++)
{
for(i=1;i<=n-1;i++)
{
j = i+1-1;
m[i][j]=99999;
for(k=1;k<=j-1;k++)
{
q=m[i][k]+m[k+1][j]+(p[i-1]*p[k]*p[j]);
if(q<m[i][j])
{
m[i][j]=q;
s[i][j]=k;
}
}
}
}
printf("\n\n M matrix \n");
printf("---------------\n");
for(i = 1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%d\t",m[i][j]);
printf("\n");
}
printf("\n\n s matrix \n");
printf("------------\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%d\t",s[i][j]);
printf("\n");
}
printf("\noptimal parenthesis:");
i=1;
j=n;
printparenthesis(i,j);
return 0;
}Editor is loading...
Leave a Comment