• Задан одномерный массив А(N) (N<=60). Найти сумму положительных элементов и произведение отрицательных массива. Если сумма больше произведения, найти максимальный элемент массива, а если нет – выдать об этом сообщение

Ответы 1

  • Создаёшь массив, заполняешь его, считаешь сумму и произведение, и обрабатываешь условие:

    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>

    #include <conio.h>

    #define RANDOM_MIN -9

    #define RANDOM_MAX 9

    int main(void) {

    srand(time(NULL)); /* for "visible" random */

     

    int N;

    scanf("%d", &N);

     

    int *A = malloc(sizeof(int) * N);

    int sum = 0;

    int prd = 1;

     

    printf("elements: ");

     

    int i;

    for (i = 0; i < N; i++) {

     A[i] = RANDOM_MIN + rand() % (RANDOM_MAX + abs(RANDOM_MIN) + 1);

     

     printf("%d ", A[i]);

     

     if (A[i] > 0) {

      sum += A[i];  

     } else if (A[i] < 0) {

      prd *= A[i];

     }

    }

     

    printf("");

    printf("summa: %d", sum);

    printf("product: %d", prd);

     

    if (sum > prd) {

     int max = A[0];

     

     for (i = (0 + 1); i < N; i++) {

      if (max < A[i]) {

       max = A[i];

      }

     }

     

     printf("max element is: %d", max);

    } else {

     printf("product higher than summa");

    }

     

    getch();

    free (A);

    return 0;

    }

    • Автор:

      ruby69
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years