简洁明了,C++中动态定义一维数组,二维数组,三维数组

转载 2012年03月23日 00:09:00
#include<iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

int main()
{
int hight , row , col ;
register int i , j , k ;
//srand((unsigned)time(NULL)) ;

//////////////////////////////////////////////////////////////////////////////////////////////////
//动态定义和初始化一维数组
//////////////////////////////////////////////////////////////////////////////////////////////////
cout<<"输入一维数组的行"<<endl;
cin>>row ;
int *p1 ;
    p1 = new int [row] ;
//输入一维数组的值
for( i = 0 ; i < row ; i ++ )
   p1[i] = rand () % 10 ;
//输出一维数组
for( i = 0 ; i < row ; i ++ )
   cout<<p1[i] <<' ' ;
cout<<endl;
//释放一维数组
delete [] p1 ;

//////////////////////////////////////////////////////////////////////////////////////////////////
//动态定义和初始化二维数组
//////////////////////////////////////////////////////////////////////////////////////////////////
cout<<"输入二维数组的行,列 :";
cin>>row >>col ;
int **p2 ;
p2 = new int*[row] ;
for( i = 0 ; i < row ; i ++ )
   p2[i] = new int[col] ;
//输入二维数组的值
for( i = 0 ; i < row ; i ++ )
   for( j = 0 ; j < col ; j ++ )
    p2[i][j] = rand() % 10 ;
//输出二维数组
   cout<<"输出二位数组:"<<endl;
for( i = 0 ; i < row ; i ++ )
{
   for( j = 0 ;j < col ; j ++ )
    cout<<p2[i][j]<<' ' ;
   cout<<endl;
}
    //释放二维数组
for( i = 0 ; i < row ; i ++ )
    delete []p2[i] ;
delete []p2 ;

//////////////////////////////////////////////////////////////////////////////////////////////////
//动态定义和初始化三维数组
//////////////////////////////////////////////////////////////////////////////////////////////////
cout<<"输入三维数组高,行,列 : ";
cin>>hight>>row >> col ;
int *** p3 ;
p3 = new int**[hight ] ;
for( i = 0 ; i < hight ; i ++ )
     p3[i] = new int*[row] ;
for( i = 0 ; i < hight ; i ++ )
   for( j = 0 ; j < row ; j ++ )
    p3[i][j] = new int[col] ;
    //输入三维数组值:
   for(i = 0 ; i < hight ; i ++ )
    for(j = 0 ; j < row ; j ++ )
     for( k = 0 ; k < col ; k ++)
      p3[i][j][k] = rand() ;
//输出三维数组:
     cout<<"输出三维数组"<<endl;
   for(i = 0 ; i < hight ; i ++ )
   {
    for( j = 0 ; j < row ; j ++ )
    {
     for( k = 0 ; k < col ; k ++ )
      cout<<p3[i][j][k]<<' ' ;
     cout<<endl;
    }
    cout<<endl;
   }
     //释放三维数组
   for( i = 0 ; i < hight ; i ++ )
    for( j = 0 ; j < row ; j ++ )
     delete []p3[i][j] ;
   for( i = 0 ; i < hight ; i ++ )
    delete []p3[i] ;
   delete []p3 ;
return 0 ;
}


相关文章推荐

解题笔记(37)——Catalan数计算及应用

问题描述:卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。输入一个整数n,计算h(n)。其递归式如下:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n...

c++ 创建二维数组的几种方法

1、用new申请一块内存空间存放二维数组 #include using namespace std; int main(int argc, char* argv[]) { int n=10,m=2...

C++中如何正确的开辟一个动态的二维数组

如何定义一个二级指针,看似每个有点C语言基础的人觉得自己都可以很容易完成,但要正确的完成并且说的明白其中道理不见得就那么多。正确的理解数组指针和指针数组是关键。

C++动态定义二维数组

#include using namespace std; int main() { int m,n; cin>>m>>n;//dimension of mat // in...

C++建立动态二维数组

C++建立动态二维数组主要有两种方法: 1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组              &...

C++ 实现动态定义三维内的数组

转载自:http://www.cnblogs.com/this-543273659/archive/2011/09/01/2162546.html C++ 实现动态定义三维内的数组 //动态定义...

定义一维、二维、三维数组

定义一维、二维、三维数组 数组: 数组是一组数据类型相同的元素。数组元素按顺序储存在内存中,通过整数下表(或索引)可以访问各元素。数组首元素下标是0 一维数组 声明一个简单一维数组形式如下...

C++中如何定义动态数组

首先:为什么需要动态定义数组呢?   这是因为,很多情况下,在预编译过程阶段,数组的长度是不能预先知道的,必须在程序运行时动态的给出   但是问题是,c++要求定义数组时,必须明确给定数组的大小,...

C++ 创建三维数组的几种方法

C++ 三维数组创建的几种方法

静态数组与动态数组的区别以及二维数组地址详解

静态数组: 在编译期间就分配好
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)