哥们,你说的这个情况是不可能发生的。你说的这种情况,直接就不需要返回值,采取楼上说的就ok
具体是:
数组在作为函数的参数的时候,会退化为指针。
在函数返回值上,int [] 不是一个类型,所以也不可能返回。
不过如果你真的想玩死c++,给你个小程序看看,这个ok
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef vector<vector<int>> twoDimIntArray; //定义一个二维的向量,和二维数组同样的概念
twoDimIntArray testReturnArray(twoDimIntArray a) //该函数能实现传递一个二维向量,返回一个二维向量
{
cout<<"call testReturnArray"<<endl;
a[1][2]=0;
return a; //在这个里面可以随便对这个二维向量修改
}
class print_array
{
public:
void operator()(vector<int> one_array)
{
cout<<endl;
for_each(one_arraybegin(),one_arrayend(),print_array());
cout<<endl;
}
void operator()(int element)
{
cout<<element<<" ";
}
};
int main()
{
int two_dim_int [2][3]={{1,2,3},{9,8,7}}; //初始化一个二维数组
vector<int> one(two_dim_int[0],two_dim_int[0]+3);
vector<int> two(two_dim_int[1],two_dim_int[1]+3);
vector<int> vectorArray[]={one,two};
twoDimIntArray hello(vectorArray,vectorArray+2);//初始化一个二维向量
cout<<"输出原始二维向量hello"<<endl;
for_each(hellobegin(),helloend(),print_array());
twoDimIntArray hi=testReturnArray(hello);
cout<<"经过函数调用之后的向量hello"<<endl;
for_each(hellobegin(),helloend(),print_array());
cout<<"返回的二维向量hi"<<endl;
for_each(hibegin(),hiend(),print_array());
int i;
cin>>i;
}
能输入一个二维的数组,返回一个二维的数组,不是传指针,是按值传递哦。花了20分钟才写出来的。
这题的数学练习意义远大于编程练习意义,所以我愿意花时间做一做
import javautilScanner;
public class Test {
public static void main(String[] args) {
int n=7;
Scanner s=new Scanner(Systemin);
Systemoutprint("输入大小N:");
n=snextInt();
Systemoutprintln();
for(int y=0;y<n;y++){
int yr=(y+1)%2;//1 0 1 0 1 0 1
int ye=(y+1)/22;//0 2 2 4 4 6 6
for(int x=0;x<n;x++){
//(e+1)^2 (e+1)^+1 (e+1)^2
int xr=x%2;
int xe=x/22+1;
Systemoutformat("%5d",
(x>y (xexe+xr+y(xr==0-1:1)):(yeye+yr+x(yr==0-1:1)))
);
}
Systemoutprintln();
}
}
}
============
输入大小N:11
1 2 9 10 25 26 49 50 81 82 121
4 3 8 11 24 27 48 51 80 83 120
5 6 7 12 23 28 47 52 79 84 119
16 15 14 13 22 29 46 53 78 85 118
17 18 19 20 21 30 45 54 77 86 117
36 35 34 33 32 31 44 55 76 87 116
37 38 39 40 41 42 43 56 75 88 115
64 63 62 61 60 59 58 57 74 89 114
65 66 67 68 69 70 71 72 73 90 113
100 99 98 97 96 95 94 93 92 91 112
101 102 103 104 105 106 107 108 109 110 111
加分加分!
1、打开matlab,在命令行窗口输入zeros(2,3),如下图所示。
2、按回车键之后,可以看到创建了一个2行3列的二维数组。
3、在命令行窗口输入ones(3,4),如下图所示。
4、按回车键之后,可以看到创建一个3行4列的数组,如下图所示。
5、zeros函数创建一定大小的全0数组,ones函数创建一定大小的全1数组,都可以提前定义数组大小,全0,全1相当于空数组,定义之后,可以对数组进行赋值,根据需要选择。
看不太明白你的题问,猜测你要的两种可能
1、你需要数组a包含b6个元素的话可以用二维数组 a(b,i)这样
2、你需要数组a包含b个元素,在循环中每个元素使用6次的话可以用a(b)加for循环使用,比如:
for b
i=1
for 6
i=i+1
endfor
endfor
以上就是关于C++函数如何返回多维数组最好能举个实例便于理解。全部的内容,包括:C++函数如何返回多维数组最好能举个实例便于理解。、编写Java或者C小程序:当n=1时输出如下形式的数字方阵,程序中不可以用多维数组或数组、matlab如何创建多维数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)