Создаёшь массив, заполняешь его, считаешь сумму и произведение, и обрабатываешь условие:
#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("\n");
printf("summa: %d\n", sum);
printf("product: %d\n", 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;
}
using namespace std;
int gcd(int a, int b);
int main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int n;
cin >> n;
for (int i = 0; i < n; ++i)
{
int a, b, c, d;
scanf("%d/%d+%d/%d=", &a, &b, &c, &d);
int num = a * d + b * c;
int den = b * d;
int cur_gcd = gcd(num, den);
num /= cur_gcd;
den /= cur_gcd;
cout << num;
if(den != 1)
cout << '/' << den;
cout << endl;
}
fclose(stdin);
fclose(stdout);
return 0;
}
int gcd(int a, int b)
{
if(a == 0)
return b;
return gcd(b % a, a);
}