katdavidova91
?>

Паскаль напишите программу, которая выводит на экран массив в в одну строку и определяет количество четных и количество нечетных элементов.

Информатика

Ответы

schernov
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var b:=ArrRandom(ReadInteger('n='),-50,50); b.Println;
  Writeln('Четных элементов ',
      b.Where(t->t.IsEven).Count,
      ', нечетных ',
      b.Where(t->t.IsOdd).Count)
end.

Пример
n= 20
-18 -1 48 -31 -18 -34 -42 20 -30 14 -16 45 50 0 -18 39 45 19 -10 16
Четных элементов 14, нечетных 6
виталийВячеславович
Поскольку версия языка не указана, а также отсутствует какая-либо информация об ограничениях на технологию программирования, будет использованы все современные возможности PascalABC.NET 3.2 в его последней доступной реализации (сборка 1443 от 19.05.2017).

Внимание! Если у вас программа не работает, обновите версию!

№1

begin
  var u:=ArrRandom(ReadInteger('h='),-10,10); u.Println;
  var k:=ReadInteger('Ключ поиска k=');
  Write('Индексы элементов, совпадающих с ключом: ');
  u.Select((x,i)->(x,i)).Where(x->x[0]=k).Select(x->x[1]+1).Println
end.

Пример
h= 17
-6 -8 -6 -4 -6 8 -9 0 9 1 -1 0 -4 -6 8 -7 3
Ключ поиска k= -6
Индексы элементов, совпадающих с ключом: 1 3 5 14

№2

begin
  var m:=ReadInteger('Количество строк в матрице:');
  var n:=ReadInteger('Количество столбцов в матрице:');
  Writeln('*** Исходная матрица [',m,',',n,'] ***');
  var b:=MatrRandom(m,n,-30,30);
  b.Println(4); Writeln(4*b.ColCount*'-');
  var s:=b.ElementsWithIndexes;
  var max:=s.Select(x->x[2]).Max;
  Write('Максимальные элементы, равные ',max,': ');
  s.Where(x->x[2]=max).ForEach(x->Write('[',x[0]+1,',',x[1]+1,'] '));
  Writeln
end.

Пример
Количество строк в матрице: 10
Количество столбцов в матрице: 15
*** Исходная матрица [10,15] ***
  26  29  19 -10  -6  12 -14   5  14 -18  27   7 -23 -21   8
  22  14 -16  14 -13 -25   5   2  -2  30  29   2  19   4   0
   4   8  25  16   1   4  -2 -18 -30  -1 -23 -26   5  29  19
  28  -4  -9 -12  20 -10 -17 -14 -27 -18 -10  -3  -9 -10  -5
 -21  -3 -29 -17   8 -12  13  -8   9 -26  -7   1 -17 -16 -21
 -30  30   3  10 -28   3 -19   0  14 -20 -10  -9  21   4 -20
 -24 -24  22   6 -11  10 -27  -8 -10   0 -15 -26  12 -16  -4
  19 -30 -29  24 -18  -9  24  12 -12  23  29  28 -12 -27 -12
  27  22  19  -1  28 -13  10   7  26   0  27   7 -17 -21  18
  -1   0 -14 -12  -9 -11 -10  28  -8  19 -17  -5   4  14  -9

Максимальные элементы, равные 30: [2,10] [6,2]
martinson1136
#include <iostream>

/* main program function */
int main()
{
  int
    iMulEven = 1,
    iMulOdd = 1,
    iNumber;
  char cMask = 0;

  std::cin >> iNumber;
  if (iNumber > 9999 || iNumber < 1000)
  {
    std::cout << "Error! Input the correct number!" << std::endl;
    return 0;
  }
  
  for (int i = 0; i < 4; i++)
  {
    int iEnd = iNumber % 10;
    if (iEnd % 2 == 0)
      iMulEven *= iEnd, cMask |= 1;
    else
      iMulOdd *= iEnd, cMask |= 2;
    iNumber /= 10;
  }

  if (cMask == 3)
    std::cout << static_cast<double>(iMulEven) / iMulOdd << std::endl;
  else if (cMask == 1)
    std::cout << "There is no odd digits exists." << iMulEven << std::endl;
  else
    std::cout << "There is no even digits exists." << iMulOdd << std::endl;
  return 0;
} /* end of the 'main' function */

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

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

Паскаль напишите программу, которая выводит на экран массив в в одну строку и определяет количество четных и количество нечетных элементов.
Ваше имя (никнейм)*
Email*
Комментарий*

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

mekap22044
krasilnikov74
slastena69678
Vetroff-11
anchutk3016
zaha98
Евгеньевна_Хусинов
kogakinoa
Nadirovich1317
Svetlana290419
Vladimirovich-Aleksandrovna96
nzaripova313
gudachaa1480
Хохлов
Sadikova Gavrikov