Lisaveta777

Последовательность отрицательных с наименьшим средним арифме

Nov 27th, 2019
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.56 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdio.h>
  3.  
  4. #define SIZE 9
  5. //Дана размерность массива (9) Предел значений (-150 дефис 150)
  6. //Найти из непрерывных последовательностей отрицательных чисел ту,
  7.  //которая имеет наибольшее абсолютное значение среднего арифметического ее элементов
  8.  
  9. int main()
  10. {
  11.  
  12.  
  13.    int i,t_start, t_finish, t_average, p_start, p_finish,p_average,flag,sum,
  14.        arr[SIZE] = {2,-1,-1,0,-10,-15,-125,8,8};
  15.        p_start = p_finish = p_average  = flag = 0;
  16.  
  17.     for(i=0;i<SIZE-1;i++)
  18.     {
  19.         if(arr[i] < 0  && !flag)//first instance of negative number
  20.         {
  21.             t_start = i;
  22.             flag = 1;
  23.             sum+=arr[i];
  24.         }
  25.         else if(arr[i] < 0 && flag)//second instance of negative number
  26.         {
  27.             sum +=arr[i];
  28.         }
  29.         else if(arr[i] >=  0&& flag)//last instance of negative number
  30.         {
  31.             t_finish =  i;    
  32.             t_average = sum/(t_finish-t_start);
  33.             sum = flag = 0 ;
  34.             if(t_average<p_average)//temporary smaller than permanent
  35.             {
  36.                 p_average = t_average;
  37.                 p_start  = t_start;
  38.                 p_finish  = t_finish;
  39.             }
  40.         }
  41.         //nothing???
  42.     }
  43.     printf("p_start-%d  p_finish-%d p_average-%d\n",p_start,p_finish,p_average);
  44.     for(i=p_start;i<p_finish;i++)
  45.         printf("%d\t",arr[i]);
  46.  
  47.  
  48.     return 0;
  49. }
Add Comment
Please, Sign In to add comment