Advertisement
al3taibi

Untitled

May 16th, 2022
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. template<typename Type>
  6. int getMinNum(Type array[], int N) {
  7. int min_i = 0;
  8. Type min_x = array[0];
  9.  
  10. for (int i = 1; i < N; i++) {
  11. if (array[i] < min_x) {
  12. min_i = i;
  13. min_x = array[i];
  14. }
  15. }
  16.  
  17. return min_i;
  18. }
  19.  
  20. template<typename Type>
  21. Type sum(Type array[], int N) {
  22. int first_minus = -1, second_minus, i;
  23.  
  24. Type sum = 0;
  25.  
  26. for (i = 0; i < N; i++) {
  27. if (array[i] < 0) {
  28. if (first_minus == -1) {
  29. first_minus = i;
  30. } else {
  31. second_minus = i;
  32. break;
  33. }
  34. }
  35. }
  36.  
  37. for (i = first_minus + 1; i < second_minus; i++) sum += array[i];
  38.  
  39. return sum;
  40. }
  41.  
  42. template<typename Type>
  43. void convert(Type array[], int N) {
  44. int i, r_i = 0;
  45. Type result[N];
  46. for (i = 0; i < N; i++)
  47. if (abs(array[i]) <= 1) {
  48. result[r_i] = array[i];
  49. r_i++;
  50. }
  51. for (i = 0; i < N; i++)
  52. if (abs(array[i]) > 1) {
  53. result[r_i] = array[i];
  54. r_i++;
  55. }
  56. for (i = 0; i < N; i++) {
  57. cout << result[i];
  58. if (i != N - 1) cout << " ";
  59. }
  60. cout << endl;
  61. }
  62.  
  63. template<typename Type>
  64. void process(Type array[], int N) {
  65.  
  66. for (int i = 0; i < N; i++)
  67. {
  68. cin >> array[i];
  69. }
  70. cout << getMinNum(array, N) + 1 << " " << sum(array, N) << endl;
  71. convert(array, N);
  72. }
  73.  
  74. int main() {
  75. int N;
  76. cin >> N;
  77.  
  78. int array[N];
  79. double arrayDouble[N];
  80. float arrayFloat[N];
  81.  
  82. process(array, N);
  83. process(arrayDouble, N);
  84. process(arrayFloat, N);
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement