fork download
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <stdbool.h>
  5. #include <math.h>
  6. #include <locale.h>
  7. #include <float.h>
  8.  
  9. #define A 5
  10.  
  11. int main()
  12. {
  13. setlocale(LC_CTYPE, "Russian");
  14. int i;
  15. int min = 0;
  16.  
  17. float M[A];
  18. float fMin = FLT_MAX;
  19. float fSum = 0.0f;
  20.  
  21. bool RunSum = false;
  22. bool Summed = false;
  23. bool flag = false;
  24.  
  25. int temp;
  26. int j;
  27.  
  28.  
  29. printf("Введите %d элементов массива.(из д/з хотябы два элемента должно быть <0) \n", A);
  30.  
  31. for (i = 0; i < A; ++i)
  32. {
  33. printf("[%d]: ", i);
  34. scanf("%f", &M[i]);//заполнение массива
  35.  
  36. if (fMin > M[i])
  37. {
  38. fMin = M[i]; // естественный Минимум
  39. min = i;
  40. }
  41.  
  42. // Остановка Sum
  43. if (Summed && (M[i] < 0))
  44. {
  45. RunSum = false; // Запуск
  46. }
  47.  
  48. if (RunSum)
  49. {
  50. fSum += M[i];
  51. }
  52.  
  53. // Начало Sum на следующем шаге
  54. if (!Summed && (M[i] < 0))
  55. {
  56. Summed = true;
  57. RunSum = true;
  58. }
  59.  
  60. }
  61.  
  62. printf("Минимальное значение: %f В ячейке [%d]\n", fMin, min);
  63. printf("Сумма равна: Sum= %f\n", fSum);
  64.  
  65.  
  66.  
  67. for (i = 0; i < A - 1; i++)
  68. {
  69. for (j = 0; j < A - 1; j++)
  70. if (M[j] > M[j + 1])
  71. {
  72. temp = M[j + 1];
  73. M[j + 1] = M[j];
  74. M[j] = temp;
  75. }
  76. }
  77. for (i = 0; i<A; i++)
  78. {
  79. printf("%f ", M[i]);
  80. }
  81.  
  82.  
  83.  
  84. return 0;
  85. }
  86.  
Success #stdin #stdout 0s 3956KB
stdin
3
2
1
0
0
stdout
Введите 5 элементов массива.(из д/з хотябы два элемента должно быть <0) 
[0]: [1]: [2]: [3]: [4]: Минимальное значение: 0.000000 В ячейке [3]
Сумма равна: Sum= 0.000000
0.000000 0.000000 1.000000 2.000000 3.000000