Вопрос задан 09.07.2023 в 23:46. Предмет Информатика. Спрашивает Тастан Амина.

Даю 100 баллов. (Ответ пишет тот, кто знает.) Дан массив, содержащий 40 целых чисел в диапазоне

от -10000 до 10000. Напишите на одном из языков программирования программу, которая находит в этом массиве количество пар соседних элементов массива, произведение которых нечётно, а сумма – положительна. В данной задаче под парой подразумеваются два соседних элемента массива. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. var a: array [0..39] of integer; i, j, k: integer; begin for i := 0 to 39 do readln(a[i]); ... end.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Чебыкина Анна.

#include <iostream>

#include <cmath>

#include <vector>

using namespace std;

signed main() {

 int a[40];

 for(int i = 0; i < 40; i++)

     cin >> a[i];

 int k = 0;

 for(int i = 0; i < 39; i++)

     if((a[i] * a[i+1]) % 2 == 1 && a[i] + a[i+1] > 0)

         k++;

 cout << k;    

}

0 0
Отвечает Потуремская Дарья.

Ответ:

#include <iostream>

using namespace std;

int main()

{

   int i,j,k;

   int a[40];

   for (int i=0; i<40; i++)

   {

       cin>>a[i];

   }

   k=0;

   for (int i=0; i<39; i++)

   {   j=a[i]*a[i+1];

       if(j % 2 == 1)

       {   j=a[i]+a[i+1];

           if(j > 0)

               k++;

       }

   }

   

   cout<<k<<endl;

   

   return 0;

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот фрагмент программы на языке Pascal, который решает данную задачу:

pascal
var a: array [0..39] of integer; i, count: integer; begin count := 0; for i := 0 to 38 do begin if ((a[i] + a[i+1] > 0) and ((a[i] * a[i+1]) mod 2 <> 0)) then count := count + 1; end; writeln('Количество пар: ', count); end.

В этом фрагменте, переменная count используется для подсчета количества пар, которые соответствуют заданным условиям. Цикл проходит по элементам массива a, начиная с индекса 0 и заканчивая индексом 38 (последний соседний элемент будет 39-й). Условие ((a[i] + a[i+1] > 0) and ((a[i] * a[i+1]) mod 2 <> 0)) проверяет, что сумма элементов пары положительна, а произведение нечетно. Если это условие выполняется, то увеличивается счетчик count. По завершении цикла, программа выводит количество найденных пар.

Пожалуйста, обратите внимание, что в вашем исходном коде переменные i, j и k были объявлены, но не использованы. В моем фрагменте кода, я не использую переменные j и k, так как они не нужны для данной задачи.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос