矩阵与数组

ppwf 2003-10-15 05:11:18
1 如何实现这一个功能?????????
如何使用户在DOS下可以输入任意矩阵。如何在程序中用二维数组储存它??????
2 可不可以从堆中申请要一个二维数组?????
麻烦了
谢谢
...全文
52 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
LinuxPanther 2003-10-16
  • 打赏
  • 举报
回复
刚刚写完,有些地方要改改
//:Make 2DArray
#ifndef MAKE2DARRAY_H
#define MAKE2DARRAY_H

template <class T>
void Make2DArray(T**&x,int rows,int cols)//创建rows行,cols烈的数组
{
x=new T*[rows];//分配行空间
for(int i=0;i<rows;i++)//分配列空间
x[i]=new T[cols];
}

template <class T>
void Destroy2DArray(T**&x,int rows)
{
for(int i=0;i<rows;i++)
{
delete []x[i];
x[i]=0;
}
delete []x;
x=0;
}
#endif//MAKE2DARRAY


//:Make.cpp

#include "Make2DArray.h"
#include <iostream>
#include <cstdlib>
using namespace std;

void main()
{
int **nArray;
int rows,//行数
cols;//列数
cout<<"please input rows:";
cin>>rows;
cout<<endl<<"please input cols:";
cin>>cols;
cout<<endl;
try{
Make2DArray(nArray,rows,cols);
}
// catch(xalloc){
catch(...){
cerr<<"Could not create x"<<endl;
exit(1);
}
cout<<"please input element:"<<endl;//应当监视用户的输入
int i,j;
for(i=0;i<rows;i++)
for(j=0;j<cols;j++)
{
cin>>nArray[i][j];
}
cout<<"The 2DArray is "<<rows<<" "<<cols<<endl;
for(i=0;i<rows;i++)
{
for(j=0;j<cols;j++)
cout<<nArray[i][j]<<" ";
cout<<endl;
}
Destroy2DArray(nArray,rows);
}
darcymei 2003-10-15
  • 打赏
  • 举报
回复

动态分配二维数组
double **a;
a=new double*[M];
for(int i=0;i<N;i++){
a[i]=new double[N];
}
fifo333 2003-10-15
  • 打赏
  • 举报
回复
typedef struct Matrix{
int row;
int column;
int *data;
}Matrix;

数组方式生成:
Matrix mx;
int array[]={1,2,3,4,5,6,7,8,9};
mx.row=3;
mx.column=3;
mx.data=array;

动态分配:
Matrix mx;
int *parray=(int *)malloc(12*sizeof(int));/*没加入检查,自己加吧
mx.row=3;
mx.column=4;
mx.data=parray;

获取一个矩阵元素:
int getMxdata(Matrix *mx,int i,int j)
{
int tmp;
tmp=mx->data[i*mx->column+j];/*可能需要一些括号,没来得及调试,见谅*/
return tmp;
}

我已经用这个结构体设计成了一套卷积码viterbi译码程序,应该说还是值得借鉴的。
可惜昨天硬盘突然崩溃了,近期所有数据都没了,不能把我的程序给你看。
好在我备份工作做的好,损失不大,恰巧手边有一块低速小硬盘,今天刚恢复了系统。大家以后要注意数据备份工作。


cupidvenus 2003-10-15
  • 打赏
  • 举报
回复
用动态申请内存可以实现。
tuxw 2003-10-15
  • 打赏
  • 举报
回复
楼主要的是"任意"矩阵

动态申请内存
ppwf 2003-10-15
  • 打赏
  • 举报
回复
1和2的代码可不可以写一下?
谢谢


lemon520 2003-10-15
  • 打赏
  • 举报
回复
1.可以先接收,再判断,再存入二维数组!
2.可以
skywater 2003-10-15
  • 打赏
  • 举报
回复
你说的矩阵是不是就是输入二位数组?

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧