Создаёшь массив, заполняешь его, считаешь сумму и произведение, и обрабатываешь условие:
#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;
}
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
var
i,j,s:integer;
begin
// задание 1
s:=0;
for i:=1 to 10 do s:=s+i*i;
Writeln(s);
// задание 2
j:=0;
for i:=1 to 50 do
if i mod 2=0 then j:=j+1;
Writeln(j)
end.
Результат
385
25
А вот так можно это решить по-нормальному за минуту.
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
Writeln(1.To(10).Select(i->i*i).Sum); // задание 1
Writeln(Range(2,50,2).Count) // задание 2
end.
Результат
385
25