
Вопрос задан 29.07.2023 в 09:15.
Предмет Информатика.
Спрашивает Кадочников Вадим.
Дан массив А ( 28 ) . Найти сумму положитель " ых элементов массива . Если сумма будет больше 100 ,
то обнулить элементы в чётных ячейках , ссли сумма будет меньше или равна 100 , то обнулить элементы в нечетных ячейках

Ответы на вопрос

Отвечает Чан Гаяна.
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
const int n = 28;
int main()
{
int A[n];
int sum = 0;
cout << "Source array: \n";
srand(time(NULL));
for (int i = 0; i < n; i++) {
A[i] = rand() % 23 - 10;
if (A[i] > 0) sum += A[i];
cout << A[i] << " ";
}
cout << "\nSum = " << sum << endl;
cout << "\nNew array: \n";
if (sum > 100)
for (int i = 0; i < n; i++)
{
if (i % 2 == 1) A[i] = 0;
cout << A[i] << " ";
}
else
for (int i = 0; i < n; i++)
{
if (i % 2 == 0) A[i] = 0;
cout << A[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
#include <stdlib.h>
#include <time.h>
using namespace std;
const int n = 28;
int main()
{
int A[n];
int sum = 0;
cout << "Source array: \n";
srand(time(NULL));
for (int i = 0; i < n; i++) {
A[i] = rand() % 23 - 10;
if (A[i] > 0) sum += A[i];
cout << A[i] << " ";
}
cout << "\nSum = " << sum << endl;
cout << "\nNew array: \n";
if (sum > 100)
for (int i = 0; i < n; i++)
{
if (i % 2 == 1) A[i] = 0;
cout << A[i] << " ";
}
else
for (int i = 0; i < n; i++)
{
if (i % 2 == 0) A[i] = 0;
cout << A[i] << " ";
}
cout << 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]>0 then s:=s+a[i]
end;
writeln;
if s>100 then
begin
i:=2;
while i<=n do
begin
a[i]:=0;
i:=i+2
end
end
else
begin
i:=1;
while i<=n do
begin
a[i]:=0;
i:=i+2
end
end;
writeln('Сумма равна ',s);
for i:=1 to n do Write(a[i],' ');
writeln
end.
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]>0 then s:=s+a[i]
end;
writeln;
if s>100 then
begin
i:=2;
while i<=n do
begin
a[i]:=0;
i:=i+2
end
end
else
begin
i:=1;
while i<=n do
begin
a[i]:=0;
i:=i+2
end
end;
writeln('Сумма равна ',s);
for i:=1 to n do Write(a[i],' ');
writeln
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Давайте разделим задачу на несколько шагов:
Шаг 1: Найти сумму положительных элементов массива. Шаг 2: Проверить, будет ли сумма больше 100 или меньше/равна 100. Шаг 3: Обнулить элементы массива в соответствии с результатами из шага 2.
Прежде чем продолжить, уточните, что означает "чётные ячейки" и "нечётные ячейки". Массивы в программировании обычно индексируются с нуля, и если вы имеете в виду чётные/нечётные индексы, то элементы с индексами 0, 2, 4, и т.д. будут считаться чётными, а элементы с индексами 1, 3, 5, и т.д. - нечётными. Пожалуйста, уточните этот момент, чтобы я мог предоставить точное решение.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

Информатика 16
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili