zoukankan      html  css  js  c++  java
  • 矩阵元素转换

    #include<iostream>
    using namespace std;
    void change(int *f,int a)
    {
    	int *x,*max,*mix;
    	int *y,m=1,b,x1;
    	int *str[10];
    	max=f;
    	for(x=f+1;x<f+a*a-1;x++)
    	{
    		if(*x>*max) max=x;
    	}
    	m=*(f+(a*a-1)/2);
    	*(f+(a*a-1)/2)=*max;
    	*max=m;
    	m=1;
    	for(m=1;m<=4;m++)
    	{
    		if(m==1) mix=f;
    		else mix=f+1;
    		for(y=f;y<=f+a*a-1;y++)
    		{
    		 if(m==2&&y==f) y++;
    		 else if(m==3&&(y==f||y==f+a-1)) y++;
    		 else if(m==4&&(y==f||y==f+a-1||y==f+a*a-a)) y++;
               if(*mix>*y) mix=y;
    		}
    		if(m==1) 	{
    			x1=*f;*f=*mix;
    			*mix=x1;
    		}
    		else if(m==2){
    			x1=*(f+a-1);*(f+a-1)=*mix;
    			*mix=x1;
    		}
    		else if(m==3){
    			x1=*(f+a*a-a);*(f+a*a-a)=*mix;
    			*mix=x1;
    		}
    		else {
                x1=*(f+a*a-1);*(f+a*a-1)=*mix;
    			*mix=x1;
    		}
    	}
    }
    int main()
    {
        void change(int *,int );
        int **a,*p,i,j;
        int n;
        cin>>n;
        p=new int[n*n];
        a=new int*[n];
        for(i=0; i<n; i++)
            a[i]=p+n*i;
        for (i=0; i<n; i++)
            for (j=0; j<n; j++)
                cin>>a[i][j];
        change(p,n);
        for (i=0; i<n; i++)
        {
            for (j=0; j<n; j++)
                cout<<a[i][j]<<" ";
            cout<<endl;
        }
        delete []p;
        delete []a;
        return 0;
    }
    

  • 相关阅读:
    NOI2021游记-记最后一段日子
    7.20 ZROI-Day7模拟赛
    7.19 ZROI-Day6模拟赛
    7.18 ZROI-Day5模拟赛
    7.17 ZROI-Day4模拟赛
    7.16 ZROI-DAY3 模拟赛
    7.15 ZROI-DAY2 模拟赛
    7.13 ZROI-DAY1赛后总结
    7.9模拟赛赛后总结
    7.7模拟赛赛后总结
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3766962.html
Copyright © 2011-2022 走看看