fork download
  1. #include <iostream>
  2. # include <ctime>
  3. # include <cstdlib>
  4. using namespace std;
  5.  
  6. int main() {
  7. setlocale(0, "rus");
  8. int N, M, A, B, Q, C, u, y, o, p;
  9. float min = 10000000, max = 0, sr;
  10. //for ( ; ; ) {
  11. cout << "Введите размеры массива" << endl;
  12. cin >> N >> M;
  13. cout << "Введите диапазон рандома" << endl;
  14. cin >> A >> B;
  15. A = A * 100000; B = B * 100000; C = B - A;
  16. float **arr;
  17. arr = new float *[N];
  18. for (int i = 0; i < N; ++i) arr[i] = new float[M];
  19. for (int i = 0; i < N; ++i) {
  20. for (int k = 0; k < M; ++k) {
  21. arr[i][k] = (A + rand() % C)*1.00001; cout << arr[i][k] << "\t";
  22. } cout << endl;
  23. }
  24. Q=-1;
  25. do {
  26. for (int i = 0; i < N; ++i) {
  27. for (int k = 0; k < M; ++k) {
  28. if (max < arr[i][k]) { max = arr[i][k]; y = i; u = k; }
  29. if (min > arr[i][k]) { min = arr[i][k]; o = i; p = k; }}}
  30. cout << "макс=" << max << endl << "мин=" << min << endl;
  31. sr = (min + max) / 2; min = 10000000, max = 0;
  32. cout << "Среднее мин и макс " << sr << endl;
  33. arr[y][u] = 0; arr[o][p] = 0;
  34. cout << "Выберите следующее действие:" << endl;
  35. cout << "1.Повторить с изменением размера массива" << " " << "2.Обнулить минимальное и максимальное и повторить вычисления" << " " << "0.Выход" << endl;
  36. //cin >> Q;
  37. if(Q<0){ Q=2; }else{Q=0;}
  38. if (Q == 0) { return 0; }
  39. } while (Q == 2);
  40. //}
  41.  
  42. return 0;
  43. }
Success #stdin #stdout 0s 16880KB
stdin
3 5 31 1000
stdout
Введите размеры массива
Введите диапазон рандома
6.319e+07	7.48316e+07	3.74932e+07	7.04376e+07	2.2848e+07	
3.97387e+07	4.46858e+07	5.56055e+06	1.82168e+07	2.99417e+07	
5.9303e+07	9.3891e+07	1.12688e+07	3.97205e+07	1.30979e+07	
макс=9.3891e+07
мин=5.56055e+06
Среднее мин и макс 4.97258e+07
Выберите следующее действие:
1.Повторить с изменением размера массива   2.Обнулить минимальное и максимальное и повторить вычисления  0.Выход
макс=7.48316e+07
мин=0
Среднее мин и макс 3.74158e+07
Выберите следующее действие:
1.Повторить с изменением размера массива   2.Обнулить минимальное и максимальное и повторить вычисления  0.Выход