Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.00 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //0 : индекс первого нулевого элемента.
  5. int index_first_zero(int array[], int size)
  6. {
  7.     for(int i = 0; i < size; i++){
  8.         if(array[i] == 0)
  9.         return i;
  10.     }
  11.     return;
  12. }
  13. //---------------------------------------
  14. //1 : индекс последнего нулевого элемента.
  15. int index_last_zero(int array[], int size)
  16. {
  17.     for(int i = size-1; i >= 0; i--){
  18.         if(array[i] == 0)
  19.         return i;
  20.     }
  21.     return;
  22. }
  23. //---------------------------------------
  24. //2 : Найти сумму модулей элементов массива, расположенных от первого нулевого элемента и до последнего.
  25. int sum_between(int array[], int size)
  26. {
  27.     int N = 0;
  28.         for(int i = index_first_zero(array, size) ; i <= index_last_zero(array, size); i++)
  29.             N += abs(array[i]);
  30.     return N;
  31. }
  32. //---------------------------------------
  33. //3 : Найти сумму модулей элементов массива, расположенных до первого нулевого элемента и после последнего.
  34. int sum_before_and_after(int array[], int size)
  35. {
  36.     int N = 0;
  37.         for(int i = 0; i <= index_first_zero(array, size); i++)
  38.             N += abs(array[i]);
  39.         for(int i = size-1; i >= index_last_zero(array, size); i--)
  40.             N += abs(array[i]);
  41.     return N;
  42. }
  43. //----------------------------------------
  44. int main()
  45. {
  46.     int size = 100;
  47.     int array[size];
  48.     int num = -1;
  49.         scanf("%d", &num);
  50.         for(int i = 0; i < size; i++)
  51.             scanf("%d", &array[i]);
  52.         switch(num){
  53.             case 0 :{
  54.                 printf("%d\n", index_first_zero(array, size));
  55.                 return 0;
  56.             }
  57.             case 1 :{
  58.                 printf("%d\n", index_last_zero(array, size));
  59.                 return 0;
  60.             }
  61.             case 2 :{
  62.                 printf("%d\n", sum_between(array, size));
  63.                 return 0;
  64.             }
  65.             case 3 :{
  66.                 printf("%d\n", sum_before_and_after(array, size));
  67.                 return 0;
  68.             }
  69.             default :
  70.                 printf("Данные некорректны\n");
  71.         }
  72.  
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement