SHARE
TWEET

Untitled

a guest Sep 18th, 2019 79 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int index_first_negative(int q, int n[]){
  5.     for(int i=0; i<q; i++){
  6.         if (n[i]<0){
  7.             return i;
  8.         }
  9.     }
  10. }
  11. int index_last_negative(int q, int n[]){
  12.  
  13.     for(int i=q-1; i>=0;  i--){
  14.         if (n[i]<0){
  15.         return i;
  16.         }
  17.     }
  18. }
  19. int sum_between_negative(int q,int n[]){
  20.     int f= index_first_negative(q,n);
  21.     int j=index_last_negative(q,n);
  22.     int sum=0;
  23.     for (int i=f;i<j;i++){
  24.         sum+=abs(n[i]);
  25.     }
  26.      return sum;
  27.        
  28.     }
  29.  
  30.  
  31. int sum_before_and_after_negative(int q,int n[]){
  32.     int sum=0;
  33.     for (int i=0;i<q;i++){
  34.         sum+=n[i];
  35.     }
  36.    return sum- sum_between_negative(q,n);
  37.        
  38.     }
  39. int iscorrect(int q,int array[]){
  40.     int shet=0;
  41.     for(int i=0; i<array; i++){
  42.         if(array[i]<0)
  43.             shet++;
  44. }
  45.     if( shet<2)
  46.         return 0;
  47.     else
  48.     return 1;
  49.    
  50. }
  51.      
  52. int main(){
  53.     int task;
  54.     scanf("%d",&task);
  55.  
  56.     int array[100];
  57.     char c=' ';
  58.     int i=0;
  59.  
  60.     do{
  61.         scanf("%d%c",&array[i],&c);
  62.         i++;
  63.        
  64.   }
  65.    
  66.     while(c==' ');
  67.     if (iscorrect(i,array)==0){
  68.         printf("Данные некорректны\n");
  69.         return 1;
  70.     }
  71.         switch(task){
  72.         case 0:
  73.         printf("%d", index_first_negative(i,array));
  74.         break;
  75.         case 1:
  76.         printf("%d", index_last_negative(i,array));
  77.         break;
  78.         case 2:
  79.         printf("%d", sum_between_negative(i,array));
  80.         break;
  81.         case 3:
  82.         printf("%d", sum_before_and_after_negative(i,array));
  83.         break;
  84.         default:
  85.         printf("Данные некорректны");
  86.         break;
  87.     }
  88.     return 0;
  89.  }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top