denisrogachv
?>

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

Информатика

Ответы

НатальяРуктешель472

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


#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;

}

st7307

program z1;

var a:array [1..6] of integer;

i,s:integer;

begin

s:=0;

randomize;

write ('Массив: ');

for i:= 1 to 6 do

begin

a[i]:=random(18);

write(a[i],'  ');

s:=s+a[i]

end;

writeln;

writeln ('Сумма элементов массива: ',s);

writeln ('Среднее арифметическое элементов массива: ',s/6:0:1)

end.

Объяснение:

Цикл:

1) присваиваем значение текущему элементу массива

2) выводим текущий элемент массива на экран

3) считаем сумму элементов массива

Выводим сумму элементов массива на экран

Выводим среднее арифметическое элементов массива на экран (делим сумму на количество элементов), используя форматированный вывод (указываем после второго двоеточия количество знаков после запятой при выводе числа)

lenalevmax7937
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017
// Внимание! Если программа не работает, обновите версию!

a)

begin
  var (a,b):=ReadReal2('Введите через пробел два числа:');
  if a>b then Writeln('Первое число больше второго')
  else
    if b>a then Writeln('Второе число больше первого')
    else Writeln('Числа равны')
end.

b)

begin
  var (a,b):=ReadReal2('Введите через пробел два числа:');
  if a<b then Writeln('Первое число меньше второго')
  else
    if b<a then Writeln('Второе число меньше первого')
    else Writeln('Числа равны')
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Задан одномерный массив а(n) (n< =60 найти сумму положительных элементов и произведение отрицательных массива. если сумма больше произведения, найти максимальный элемент массива, а если нет – выдать об этом сообщение
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

snab54
lovely138887
billl24
lokos201272
Svetlana395
contact
Елена
annanas08
Артур1807
Картузов-Алексей1252
Volochaev
Aleksei368
zotovinbox468
mileva84
gnsnodir5001