1. 程式人生 > >資料結構示例之矩陣對角線值非0、其餘皆0

資料結構示例之矩陣對角線值非0、其餘皆0

以下為展示“矩陣對角線值非0、其餘皆0”的簡單示例:

1.用c語言實現的版本

#include <stdio.h>
#include <stdlib.h>

#define n 4

int d[n];

/* 把x存為D( i , j ) */
void Store(int x, int i, int j)
{
	if (i<0 || j<0 || i>=n || j>=n)
	{
		printf("陣列出界!");
		exit(1);
	}

	if (i != j && x != 0)
	{
		printf("非對角線上元素值必須為零");
		exit(1);
	}

	if (i == j)
	{
		d[i] = x; 	
	}
}

void main()
{
	int i,j;
	int D[n][n] ={{2,0,0,0},{0,1,0,0},{0,0,4,0},{0,0,0,6}};

	for(i=0; i<n; ++i)
	{	
		for(j=0; j<n; ++j)
		{
			Store(D[i][j], i, j);
		}
	}

	printf("矩陣左對角線上的元素為:\n");
	for(i=0;i<n;++i)
	{
		printf("%d  ",d[i]);
	}
	printf("\n");
}

執行結果如下圖所示: