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