您的位置:首页 > 其它

如何用一维数组模拟二维数组

2011-09-14 00:00 225 查看
下面是5*6的表格数据,用一维数组存储。遍历,还是二维数组的遍历方式。第一个循环是行的循环,第二个是列的循环。


以行的方式:


#include <stdio.h>
#include <stdlib.h>
#define ROW 6
#define column 5
int main(int argc, char *argv[])
{
	int classes[30] =  {0,2,0,2,0,
						1,4,1,4,1,
						5,0,5,0,5,
						0,0,0,0,0,
						3,0,3,0,3,
						0,0,0,0,0};
	int sum;
	int i,j;
	sum = 0;
	for(i=0; i<6; i++)
	{
		for(j=0; j< 5; j++)
		{
			if(classes[i*column+j] != 0)
			{sum++;}
		}      
	}                 
	printf("课程总数: %d\n",sum);                 
	system("PAUSE");    
	return 0;
}


下面是列为主的代码:


#include <stdio.h>
#include <stdlib.h>
#define ROW 6
#define column 5
int main(int argc, char *argv[])
{
	int classes[30] =  {	0,2,0,2,0,
						1,4,1,4,1,
						5,0,5,0,5,
						0,0,0,0,0,
						3,0,3,0,3,
						0,0,0,0,0 };
	int sum;
	int i,j;
	sum = 0;
	for(i=0; i<6; i++)
	{
		for(j=0; j< 5; j++)
		{
			if(classes[j*ROW+i] != 0)
			{sum++;}
		}      
	}                 
	printf("课程总数: %d\n",sum);                 
	system("PAUSE");    
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: