标题:链表储存矩阵旋转90度输出 如何实现??
只看楼主
joker39
Rank: 1
等 级:新手上路
威 望:1
帖 子:78
专家分:0
注 册:2007-9-6
 问题点数:0 回复次数:4 
链表储存矩阵旋转90度输出 如何实现??
程序代码:
#include <iostream>
using namespace std;
typedef struct LinkNode
{
        int x;
        int y;
        int data;
        LinkNode* next;
}Node;

int main()
{
    int m;
    int n;
    int data;
    Node * head=new Node;
    Node * p=new Node;
    head->next=p;      
    cout<<"输入行号和列号"<<endl; 
    cin>>m>>n;
    for(int i=0; i<m; i++)
       for(int j=0; j<n; j++)
       {
           cin>>data;
           p->x=i;
           p->y=j;
           p->data=data;
           p->next=new Node;
           p=p->next;
       }   
     p=NULL;
     
     p=head->next;
     while(p->next){
        cout<<p->data<<" ";
        if(p->y==n-1) cout<<endl;
        p=p->next;
     }
     cout<<endl;
     system("pause");
     return 0;
}


矩阵我已经建立好了,就差一个旋转的算法。。。高手帮忙啊
搜索更多相关主题的帖子: 链表 矩阵 储存 输出 
2008-09-14 22:10
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
得分:0 
矩阵旋转90度

//先将矩阵转置,再依次将各列首尾互换.

i like linux...
2008-09-14 23:02
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
得分:0 
abc      ail      lia
ijk  --->bjm----->mjb
lmn      ckn      nkc

i like linux...
2008-09-14 23:04
joker39
Rank: 1
等 级:新手上路
威 望:1
帖 子:78
专家分:0
注 册:2007-9-6
得分:0 
晕  这样说我还是不懂  因为链表比较不一样啊
2008-09-15 23:57
jsnjzhxy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-3-5
得分:0 
#include<stdio.h>
#include<iostream>
using namespace std;
int a[101][101],b[101][101],c[101][101];

int main()
{
    int i,j,n;
    scanf("%d",&n);
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    memset(b,0,sizeof(c));
    for (i=1; i<=n; i++)
      for (j=1; j<=n; j++)
      scanf("%d",&a[i][j]);
    for (i=1; i<=n; i++)
      for (j=1; j<=n; j++)
        b[i][j]=a[j][i];
      printf("\n");
    /*for (i=1; i<=n; i++)
    {
      for (j=1; j<=n; j++)
        printf("%d ",b[i][j]);
      printf("\n");
    }
      printf("\n");*/
    for (i=1; i<=n; i++)
      for (j=1; j<=n; j++)
        c[i][j]=b[i][n+1-j];
    for (i=1; i<=n; i++)
    {
      for (j=1; j<=n; j++)
        printf("%d ",c[i][j]);
      printf("\n");
    }
    system("PAUSE");
}
谢谢
2013-03-05 23:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-233209-1-1.html




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

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