201412-2 z字形扫描

题目描述
201412-2 z字形扫描
解题思路

#include<iostream>
using namespace std;
int a[500][500]; 
int converse(int a[],int n)
{
	int temp;
	for(int i=0,j=n-1;i<j;i++,j--)
	{
		int temp;
		temp=a[i];
		a[i]=a[j];
		a[j]=temp; 
	} 
}
int main()
{
	int n;
	cin>>n;
	int b[1000];//临时数组 
	//初始化 
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			cin>>a[i][j];
		}
	}
	// z字形扫描 
	int flag=0;
	while(flag<=(2*(n-1))){
		int count=0;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				if(i+j==flag)
				{   
				    //count++;
					if(flag%2!=0)
					{
						cout<<a[i][j]<<' ';
					}else{
						count++;
						b[count-1]=a[i][j];
						
					}
				}
			}
		}
		converse(b,count);
		for(int i=0;i<count;i++)
		   cout<<b[i]<<' ';
		flag++;
	}
	
	return 0;
}
上一篇:javascript多投事件的处理 (转)


下一篇:201412-2 Z字形扫描