| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1561 人关注过本帖
标题:我的方法有些繁琐,想问有没有更简单的方法
只看楼主 加入收藏
夏木兮
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-12-3
收藏
 问题点数:0 回复次数:2 
我的方法有些繁琐,想问有没有更简单的方法
题目:将N×N矩阵中元素的值按列右移1个位置, 右边被移出矩阵的元素绕回左边。
例如,N=3,有下列矩阵
1 2 3
4 5 6
7 8 9
计算结果为
3 1 2
6 4 5
9 7 8
#include <stdio.h>
int main()
{
    int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
    int i,j,t;
    for (i=0;i<3;i++)
        for (j=0;j<2;j++)
        {
            t=a[i][j];
            a[i][j]=a[i][j+1];
            a[i][j+1]=t;
        }
    for (i=0;i<3;i++)
        for (j=0;j<2;j++)
        {
            t=a[i][j];
            a[i][j]=a[i][j+1];
            a[i][j+1]=t;
        }
   
   for (i=0;i<3;i++)
   {
       for (j=0;j<3;j++)
       {
           printf("%d\t",a[i][j]);
       }
       printf("\n");
   }
}
搜索更多相关主题的帖子: include 元素 
2016-02-02 20:15
拉链
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:107
专家分:534
注 册:2016-1-22
收藏
得分:0 
看这个代码是不是精简些:
程序代码:
#include <stdio.h>
void main()
{
    int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
    int i,j,t;
    for (i=0;i<3;i++)
    {
        t=a[i][2];
        for (j=2;j>0;j--)a[i][j]=a[i][j-1];
        a[i][0]=t;
    }
   for (i=0;i<3;printf("\n"),i++)
       for (j=0;j<3;j++)printf("%d\t",a[i][j]);
} 
2016-02-03 07:18
eagle118
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-4-28
收藏
得分:0 
void mov_matrix(int * data, int m, int n)
{
   int index;
   int temp = data[m*n-1];
   memmove(data+1,data,m*n*sizeof(int)-1)
   for (index = 0; index < n-1; index++){data[index*m] = data[(index+1)*m];}
   data[(n-1)*m] = temp;
}
2016-04-28 21:08
快速回复:我的方法有些繁琐,想问有没有更简单的方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017856 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved