Регистрация Вход
Информатика 5 - 9 классы Adoralsa
Решено

Дан массив А ( 28 ) . Найти сумму положитель " ых элементов массива . Если сумма будет больше 100 , то обнулить элементы в чётных ячейках , ссли сумма будет меньше или равна 100 , то обнулить элементы в нечетных ячейках

51
ОТВЕТЫ
#include lt;iostreamgt;
#include lt;stdlib.hgt;
#include lt;time.hgt;

using namespace std;

const int n = 28;

int main()
{
    int A[n];
    int sum = 0;
    cout lt;lt; "Source array: ";
    srand(time(NULL));
    for (int i = 0; i lt; n; i++) {
            A[i] = rand() 23 - 10;
            if (A[i] gt; 0) sum += A[i];
            cout lt;lt; A[i] lt;lt; " ";
    }
    cout lt;lt; " Sum = " lt;lt; sum lt;lt; endl;
    cout lt;lt; " New array: ";
    if (sum gt; 100)
    for (int i = 0; i lt; n; i++)
    {
        if (i 2 == 1) A[i] = 0;
        cout lt;lt; A[i] lt;lt; " ";
    }
    else
    for (int i = 0; i lt; n; i++)
    {
        if (i 2 == 0) A[i] = 0;
        cout lt;lt; A[i] lt;lt; " ";
    }
    cout lt;lt; endl;
    system("pause");
    return 0;
}
Const
  n=28;
var
  a:array[1..n] of integer;
  i:byte;
  s:integer;
begin
  randomize;
  for i:=1 to n do
    begin
    a[i]:=random(41)-20;
    Write(a[i], );
    if a[i]gt;0 then s:=s+a[i]
    end;
  writeln;
  if sgt;100 then
    begin
    i:=2;
    while ilt;=n do
      begin
      a[i]:=0;
      i:=i+2
      end
    end
  else
    begin
    i:=1;
    while ilt;=n do
      begin
      a[i]:=0;
      i:=i+2
      end
    end;
  writeln(Сумма равна ,s);
  for i:=1 to n do Write(a[i], );
  writeln
end.
23
Отв. дан
Для написания вопросов и ответов необходимо зарегистрироваться на сайте