建立一个数组类ARR求最大值及其下标.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include <iostream>
  2. #include <iostream>
  3. using namespace std;
  4. class ARR {
  5. private:
  6. int n; // 数组实际元素个数
  7. int a[100]; // 存放数组元素
  8. int max, maxindex; // 存放整型数组元素中的最大值及最大值的序号
  9. public:
  10. // 构造函数,用参数size初始化n,用x数组初始化a数组
  11. ARR(int x[], int size) : n(size) {
  12. for (int i = 0; i < n; ++i)
  13. a[i] = x[i];
  14. }
  15. // 求整型数组元素中的最大值及最大值的序号
  16. void FindMax() {
  17. max = a[0];
  18. maxindex = 1;
  19. for (int i = 1; i < n; ++i) {
  20. if (a[i] > max) {
  21. max = a[i];
  22. maxindex = i + 1;
  23. }
  24. }
  25. }
  26. // 将数组元素以每行5个数的形式输出到屏幕上,同时输出数组中元素的最大值及最大值的序号
  27. void Show() {
  28. int count = 0; // 记录当前已输出的元素个数
  29. for (int i = 0; i < n; ++i) {
  30. cout << a[i] << "\t";
  31. ++count;
  32. if (count == 5) {
  33. cout << endl;
  34. count = 0;
  35. }
  36. }
  37. cout << endl;
  38. cout << "max=" << max << "\t" << "maxindex=" << maxindex << endl;
  39. }
  40. };
  41. int main()
  42. { int b[ ]={3,4,6,8,10,34,2};
  43. ARR arr(b,sizeof(b)/sizeof(int));
  44. arr.FindMax();
  45. arr.Show();
  46. return 0;
  47. }