矩阵转址的一般算法

再写一段练习程序:

编译之后成功运行。代码结构方面,顺序有待改进,没有用模版,只能输入intType数据。

嗯,大概就是这样= =

//
//  main.cpp
//  矩阵转址
//  
//  Created by FIREDOM on 3/31/13.
//  Copyright (c) 2013 firedom. All rights reserved.
//

#include "File.h"

int main()
{
    class main Tc;
    Tc.mainFunc();
    return (0);
}

//
//  File.h
//  矩阵转址
//
//  Created by FIREDOM on 3/31/13.
//  Copyright (c) 2013 firedom. All rights reserved.
//

#ifndef ____________File__
#define ____________File__

#include <iostream>

const int N = 30;

class matrx
{
private:
    int a[N][N], b[N][N];
    int i, j;
    int length, height;
    
public:
    void inputArea();
    void inputData();
    void display();
};

class main
{
private:
    
public:
    void mainFunc();
};

#endif /* defined(____________File__) */

//  File.cpp
//  矩阵转址
//
//  Created by FIREDOM on 3/31/13.
//  Copyright (c) 2013 firedom. All rights reserved.
//

#include "File.h"


void main::mainFunc()
{
    matrx T;
    T.inputArea();
    T.inputData();
    T.display();
}

void matrx::inputArea()
{
    std::cout << "请输入数组的长宽:" << std::endl;
    std::cin >> length >> height;
}

void matrx::inputData()
{
    std::cout << "请输入数组的元素:" << std::endl;
    for(i = 0; i < length; i++)
        for(j = 0; j < height; j++)
        {
            std::cin >> a[i][j];
            b[j][i] = a[i][j];
        }
}

void matrx::display()
{
    std::cout << "原矩阵为:" << std::endl;
    for(i = 0; i < length; i++)
    {
        for(j = 0; j < height; j++)
        {
            std::cout << a[i][j] << " ";
        }
        std::cout << std::endl;
    }
    std::cout << "转置矩阵为:" << std::endl;
    for(i = 0; i < height; i++)
    {
        for(j = 0; j < length; j++)
        {
            std::cout << b[i][j] << " ";
        }
        std::cout << std::endl;
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值