Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.66 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <stdio.h>
  4.  
  5. #include <malloc.h>
  6.  
  7. #include <stdlib.h>
  8.  
  9. unsigned n, i;
  10. int *a = NULL;
  11.  
  12. void minpos();
  13. void aver();
  14. void output();
  15.  
  16. void input() {
  17.     printf("size of array:");
  18.     scanf("%d", &n);
  19.     a = (int*)malloc(n*sizeof(int));
  20.     for (i = 0; i < n; i++){
  21.         printf("a[%d]=", i);
  22.         scanf("%d", &a[i]);
  23.     }
  24.  
  25.     for (i = 0; i < n; i++){
  26.         printf("\na[%d]=%d", i, a[i]);
  27.     }
  28.  
  29. }
  30. void output(){
  31.     for (i = 0; i < n; i++){
  32.         printf("\na[%d]=%d", i, a[i]);
  33.     }
  34. }
  35.  
  36. int main(void) {
  37.  
  38.     input(a);
  39.  
  40.     minpos(a);
  41.  
  42.     aver(a);
  43.  
  44.     output(a);
  45.  
  46.     free(a);
  47.  
  48.     return 0;
  49.  
  50. }
  51.  
  52. void minpos(){
  53.  
  54.     int _min = -1;
  55.  
  56.     for (i = 0; i<n; i++){
  57.         if (a[i] <= 0 ){
  58.             continue;
  59.         }
  60.         if (_min == -1){
  61.             _min = a[i];
  62.             continue;
  63.         }
  64.         if (_min > a[i]){
  65.             _min = a[i];
  66.             continue;
  67.         }
  68.     }
  69.  
  70.     if (_min < 0) {
  71.         printf("\nERROR");
  72.     } else {
  73.         printf("\nA min = %d", _min);
  74.     }
  75.  
  76. }
  77.  
  78. void aver(){
  79.     int evenMax = -1;
  80.     int id = -1;
  81.     for (i = 0; i<n; i++){
  82.         if (a[i] % 2 == 1){
  83.             continue;
  84.         }
  85.         if (evenMax == -1){
  86.             evenMax = a[i];
  87.             id = i;
  88.         }
  89.         if (evenMax <= a[i]){
  90.             evenMax = a[i];
  91.             id = i;
  92.         }
  93.     }
  94.     if (id < 0) {
  95.         printf("error in even elements\n");
  96.         return;
  97.     }
  98.     int cnt = 0;
  99.     int sum = 0;
  100.     for (i = id + 1; i<n; i++){
  101.         cnt = cnt + 1;
  102.         sum = sum + a[i];
  103.     }
  104.     if (cnt < 0) {
  105.         printf("error in even elements\n");
  106.         return;
  107.     }
  108.     double ans = (double)sum / (double)cnt;
  109.     printf("\naverage = %lf\n", ans);
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement