二維數組的動態存儲(遍歷方陣,求各元素的和)

#define _CRT_SECURE_NO_WARNINGS 
#include<iostream>
using namespace std;
int **InitialArray(int row,int column)  //動態創建數組並初始化
{
int **matrix = new int *[row];  // 申請row個整型指針的一維數組
   int i,j,n=1;


   for(i=0;i<row;i++)
   {
      matrix[i] = new int [column];  // 爲每一行申請column個整型元素的一維數組
 for(j=0;j<column;j++,n++)
 matrix[i][j] = n;   //爲每個元素賦值
   }
   return matrix;
}


void OutputArray(int **matrix,int row,int column)  //輸出二維數組元素
{
for(int i = 0; i<row; i++)
{
   for(int j=0; j<column; j++)
cout<<matrix[i][j]<<" \t";
cout<<endl;
}
  }


void FreeArray(int ** matrix,int row)  //釋放二維數組所佔用的內存空間
{
   for(int i = 0; i<row;i++)
  delete(matrix[i]); //釋放每一行
      delete(matrix);  //釋放一維指針數組
}


void SumArray(int row,int column)  //數組元素求和
{
   int **matrix=InitialArray(row, column);  // 初始化建立數組
   int i,j,sum=0;


   for(i=0;i<row;i++)
      for(j=0;j<column;j++)
 sum+=matrix[i][j];  //依次遍歷每個元素,並求和


   OutputArray(matrix,4,4);
   cout<<"sum="<<sum<<endl;
   FreeArray(matrix,4);
}


int main()
{
    SumArray(4,4);
return 0;
}
發佈了46 篇原創文章 · 獲贊 13 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章