fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n, i;
  6. float result;
  7. float* arr;
  8. float max = -999999999;
  9. float min = 999999999;
  10. scanf("%d", &n);
  11. arr = (float*)malloc(n * sizeof(float));
  12. for (i = 0; i < n; i++) {
  13. scanf("%f", &arr[i]);
  14. }
  15. for (i = 0; i < n; i++) {
  16. if (arr[i] < min) {
  17. min = arr[i];
  18. }
  19. if (arr[i] > max) {
  20. max = arr[i];
  21. }
  22. }
  23. result = max / min;
  24.  
  25.  
  26. float* arr1;
  27. arr1 = (float*)malloc(2 * n * sizeof(float));
  28. int j = 0;
  29. for (int i = 0; i < n; i++) {
  30. arr1[j] = arr[i];
  31. j++;
  32. if (arr[i] == min) {
  33. arr1[j] = result;
  34. j++;
  35. }
  36. }
  37. int size = j;
  38. float temp = 0;
  39. for (int i = 0; i < size - 1; i++) {
  40. for (int j = 0; j < size - i - 1; j++) {
  41. if (arr1[j] < arr1[j + 1]) {
  42. temp = arr1[j];
  43. arr1[j] = arr1[j + 1];
  44. arr1[j + 1] = temp;
  45. }
  46. }
  47. }
  48.  
  49.  
  50. for (int i = 0; i < j; i++) {
  51. printf("%f ", arr1[i]);
  52.  
  53. }
  54.  
  55.  
  56. return 0;
  57. }
Success #stdin #stdout 0s 4308KB
stdin
5
2 5 3 4 2
stdout
5.000000 4.000000 3.000000 2.500000 2.500000 2.000000 2.000000