template <classType> voidMax(Type *a, int n) { int i, j; Type tmp; for (i = 0; i < n-1; i++) { for (j = i + 1; j < n; j++) { if(a[i]>a[j]) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; } } } Type max_person = a[0]; Type person = a[0]; int max = 0; int num = 1; for (i = 0; i < n; i++) { if (person == a[i + 1]) { num++; } else { if (num > max) { max = num; max_person = person; } num = 1; person = a[i + 1]; } } cout << max_person << " " << max << endl; }
intmain() { int t; cin >> t; while (t--) { char ch; int n; cin >> ch >> n; if (ch == 'I') { int* a = newint[n+1]; for (int i = 0; i < n; i++) { cin >> a[i]; } Max(a, n); } elseif (ch == 'C') { char* a = newchar[n+1]; for (int i = 0; i < n; i++) { cin >> a[i]; } Max(a, n); } elseif (ch == 'S') { string* a = new string[n+1]; for (int i = 0; i < n; i++) { cin >> a[i]; } Max(a, n); } } return0; }
template<classType> classMatrix { protected: int m; int n; Type** mat; public: Matrix(int _m, int _n, Type** set); voidtransport(); voidprint(); ~Matrix(); };
template<classType> Matrix<Type>::Matrix(int _m, int _n, Type** set) :m(_m), n(_n) { mat = new Type * [m]; for (int i = 0; i < m; i++) { mat[i] = new Type[n]; } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { mat[i][j]=set[i][j]; } } }
template<classType> void Matrix<Type>::transport() { Type** middle; int i, j; middle = new Type * [n]; for (i = 0; i < n; i++) { middle[i] = new Type[m]; } for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { middle[i][j] = mat[j][i]; } } for (i = 0; i < m; i++) { delete[]mat[i]; } delete[]mat;
mat = new Type *[n]; for (i = 0; i < n; i++) { mat[i] = new Type[m]; } for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { mat[i][j] = middle[i][j]; } }
int tmp; tmp = m; m = n; n = tmp; }
template<classType> void Matrix<Type>::print() { int i, j; for (i = 0; i < m; i++) { for (j = 0; j < n - 1; j++) { cout << mat[i][j] << " "; } cout << mat[i][j] << endl; } }
template<classType> Matrix<Type>::~Matrix() { for (int i = 0; i < m; i++) { delete[]mat[i]; } delete[]mat; }
intmain() { int t; int i, j; char ch; int m, n; cin >> t; while (t--) { cin >> ch >> m >> n; if (ch == 'I') { int** mat = newint* [m]; for (i = 0; i < m; i++) { mat[i] = newint[n]; } for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { cin >> mat[i][j]; } } Matrix<int> Mat(m, n, mat); Mat.transport(); Mat.print();
} elseif (ch == 'D') { double** mat = newdouble* [m]; for (i = 0; i < m; i++) { mat[i] = newdouble[n]; } for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { cin >> mat[i][j]; } } Matrix<double> Mat(m, n, mat); Mat.transport(); Mat.print(); } elseif (ch == 'C') { char** mat = newchar* [m]; for (i = 0; i < m; i++) { mat[i] = newchar[n]; } for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { cin >> mat[i][j]; } } Matrix<char> Mat(m, n, mat); Mat.transport(); Mat.print();
template<classType> List <Type>::List(int n): num(n) { for (int i = 0; i < num; i++) { cin >> list[i]; } for (int i = num; i < 100; i++) { list[i] = -1; } }
template<classType> void List<Type>::insert(int a,Type n) { num++; for (int i = num; i > a; i--) { list[i] = list[i - 1]; } list[a] = n; }
template<classType> void List<Type>::back(int a) { for (int i = a; i < num; i++) { list[i] = list[i + 1]; } num++; }
template<classType> void List<Type>::print(int n) { num = n; int i; for (i = 0; i < num-1; i++) { cout << list[i] << " "; } cout << list[i] << endl; }
intmain() { int n; int tmp = 0; while (cin >> n) { int start, end; if (tmp == 0) { int sta; List <int>L1(n); cin >> start >> sta; L1.insert(start, sta); cin >> end; L1.back(end); L1.print(n); tmp = 1; } elseif (tmp == 1) { double sta; List<double>L2(n); cin >> start >> sta; L2.insert(start, sta); cin >> end; L2.back(end); L2.print(n); tmp = 0; } } return0; }