第18周作业二

来源:互联网 发布:pypi.python.org 编辑:程序博客网 时间:2024/06/05 19:15

实验目的:学会二维数组的操作
实验内容:二维数组的操作

* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                            
* 作    者:                          
* 完成日期:  2011 年 12 月  日
* 版 本 号:        

* 对任务及求解方法的描述部分
* 输入描述:由程序产生随机数作为初始值
* 问题描述:……
* 程序输出:……
* 程序头部的注释结束

[cpp] view plaincopy
  1. #include  <iostream>  
  2. #include <time.h>  
  3. using namespace std;  
  4. void setdata(int a[8][8]);  //设置随机数  
  5. void out(int a[8][8]); //输出数组  
  6. void outDiagonal(int a[8][8]);  //输出对角线元素的值  
  7. void mine(int a[8][8],int x, int y); //按“扫雷”游戏的规则输出相邻格子  
  8. void change(int a[8][8]); //按要求改变数值  
  9. int main()  
  10. {  
  11. int a[8][8],x,y;  
  12. setdata(a);  
  13. out(a);    
  14. outDiagonal(a);  
  15. cout<<"输入一个位置:";  
  16. cin>>x>>y;  
  17. mine(a,x,y);  
  18. change(a);  
  19. out(a);  
  20. return 0;  
  21. }  
  22.   
  23. void setdata(int a[8][8])  
  24. {  
  25. int i,j;  
  26. srand(time(NULL));//需要用当前时间作“种子”,以便每次运行取得的序列不同  
  27. for(i=0;i<8;i++)  
  28. for(j=0;j<8;j++)  
  29. a[i][j]=rand()P+1;  
  30. return;  
  31. }  
  32.   
  33. void out(int a[8][8])  
  34. {  
  35. int i, j;  
  36.   
  37. for(i = 0; i < 8; i++)  
  38. {  
  39. for(j = 0; j < 8; j++)  
  40. {  
  41. cout << a[i][j]<<'\t';  
  42. }  
  43. cout <<endl;  
  44. }   
  45.   
  46. }  
  47.   
  48. void outDiagonal(int a[8][8])  
  49. {  
  50. int i, j;  
  51.   
  52. for(i = 0; i < 8; i++)  
  53. {  
  54. for(j = 0; j < i; j++)  
  55. {  
  56. cout << '\t';  
  57. }  
  58. cout << a[i][i] << endl;  
  59. }  
  60.   
  61. }  
  62.   
  63. void mine(int a[8][8],int x, int y)  
  64. {  
  65. if(x - 1 >= 0)  
  66. {  
  67. cout << a[x - 1][y] << '\t';  
  68. if(y - 1 >= 0)  
  69. cout << a[x][y - 1] << '\t' << a[x - 1][y - 1] << '\t';  
  70. if(y + 1 < 8)  
  71. cout << a[x][y + 1] << '\t' << a[x - 1][y + 1] << '\t';  
  72. }  
  73. if(x + 1 < 8)  
  74. {  
  75. cout << a[x + 1][y] << '\t';  
  76. if(y - 1 >= 0)  
  77. cout << a[x + 1][y - 1] << '\t';  
  78. if(y + 1 < 8)  
  79. cout << a[x + 1][y + 1] << '\t';  
  80. }  
  81. cout <<endl<<endl;  
  82.   
  83.   
  84.   
  85. }  
  86.   
  87. void change(int a[8][8])  
  88. {  
  89. int i, j;  
  90. for(i = 1; i < 8; i++)  
  91. {  
  92. for(j = 0;j < 7; j++)  
  93. {  
  94. a[i][j] = a[i - 1][j] + a[i - 1][j + 1];  
  95. }  
  96. if(j == 7)  
  97. a[i][j] = a[i - 1][j] + a[i - 1][0];  
  98. }  
  99.   
  100. }  

原创粉丝点击