标题:编写并测试 3×3 矩阵转置函数,使用 string 类声明字符串对象
只看楼主
OnlyZhu
Rank: 1
等 级:新手上路
帖 子:34
专家分:4
注 册:2015-11-10
结帖率:77.78%
 问题点数:0 回复次数:2 
编写并测试 3×3 矩阵转置函数,使用 string 类声明字符串对象
刚学c++,对于这个题我能想出来的只有动态分配内存来生成动态数组,但是用string类的话,我没有一点思路,感觉想到要用数据结构的只是,但是想了想还是不会,所以请各位大神帮帮忙!非常感谢!
搜索更多相关主题的帖子: 字符串 动态 
2016-10-25 22:48
OnlyZhu
Rank: 1
等 级:新手上路
帖 子:34
专家分:4
注 册:2015-11-10
得分:0 
这是原题“编写并测试 3×3 矩阵转置函数,使用动态内存分配生成动态数组来重新该题,使用指针实现函数的功能;使用 string 类声明字符串对象,重新完成该题。”动态分配的我懂了,但是string的不懂
2016-10-26 00:05
OnlyZhu
Rank: 1
等 级:新手上路
帖 子:34
专家分:4
注 册:2015-11-10
得分:0 
#include<iostream>
#include<string>
using namespace std;
void create_arr(string **&p,int n)
{  
    int i,j;
    p=new string *[n];
    cout<<"输入数据:";
    for(i=0;i<n;i++)
    {
        p[i]=new string[3];
        for(j=0;j<n;j++)
        {
            cin>>*(*(p+i)+j);
        }
   }
  
}
void output(string **p,int n)
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
          cout<<*(*(p+i)+j)<<' ';
        }
        cout<<endl;
    }
}
void zhuangzhi(string **&p,int n)
{
  int i,j;
  string m;
  for(i=0;i<n;i++)
  {
      for(j=i+1;j<n;j++)
      {
        m=*(*(p+i)+j);
        *(*(p+i)+j)=*(*(p+j)+i);
        *(*(p+j)+i)=m;
      }
  }
}
void main()
{
    string **arr;
    int n;
    cout<<"输入维数n:";
    cin>>n;
    create_arr(arr,n);
    cout<<"您输入的数组是:"<<endl;
    output(arr,n);
    cout<<"转置后的数组是:"<<endl;
    zhuangzhi(arr,n);
    output(arr,n);
    delete []arr;
}

谢谢各位,我知道怎么改了

[此贴子已经被作者于2016-10-26 00:34编辑过]

2016-10-26 00:31



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




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

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