МАМОНОВА-андрей
?>

Заполнить массив случайными числами в диапазоне 1000..2000 и подсчитать число элементов, у которых вторая с конца цифра - четная

Информатика

Ответы

хаджимурод1172
Const n=5;
var
a: array[1..n] of integer;
i, k: integer;
begin
randomize;
for i:=1 to n do //заполняем массив
a[i] := random(1000) + 1001;
k:=0;
for i:= 1 to n do
if (a[i] div 10) mod 2 = 0 then //если 2я c конца цифра элемента четная
inc(k); //то увеличиваем k на 1
writeln(k);
end.
silicon-films3375
//Pascal ABC.NET v3.0 сборка 1111

Const
 n=10;

Var
 ar:array[1..n] of integer;
 i,k:integer;
begin
 randomize;
 k:=0;
  writeln('Array:');
   for i:=1 to n do
    begin;
     ar[i]:=random(1000,2000);
     write(ar[i]:6);
     ar[i]:=ar[i] div 10;
     if not odd(ar[i] mod 10) then inc(k);
    end;
  writeln;
  writeln('Res=',k);
end.

Пример работы кода:
Array:
  1812  1641  1666  1305  1624  1385  1463  1376  1941  1188
Res=8
petrovichvit2933

#include <iostream>

using namespace std;

int data[20][20], x, y, minValue = -1;

void calc(int px, int py, int value){

   value += data[px][py];

   int temp = data[px][py];

  if(px == x - 1 && py == y - 1) {

       if(value < minValue || minValue == -1)

           minValue = value;

       return;

  }

  data[px][py] = -1;

   if(px + 1 < x && data[px + 1][py] != -1) calc(px + 1, py, value);

   if(py + 1 < y && data[px][py + 1] != -1) calc(px, py + 1, value);

   

data[px][py] = temp;

}

int main(){

   cin >> x >> y;

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

       for (int j = 0; j < y; ++j)

          cin >> data[i][j];

 calc(0, 0, 0);

  cout << minValue;  

  return 0;

}

Объяснение:

Я сделал это задание с рекурсии. Функция бесконечно вызывает сама себя и ищет наиболее оптимальный вариант. Фактически это просто подбор, но более сложно реализованный.

P. s. Если Вам ответ, отметьте его как лучший и жмякните на " " . Это мотивирует продолжать давать ответы дальше.

skorykin123371

#include <cstdio>

#include <algorithm>

using namespace std;

int a[30][30], n, m;

int main() {

  scanf(" %d %d", &n, &m);

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

     for(int j = 0; j < m; j++)

        scanf(" %d", &a[i][j]);

  for(int i = 1; i < m; i++) a[0][i] += a[0][i - 1];

  for(int i = 1; i < n; i++) a[i][0] += a[i - 1][0];

  for(int i = 1; i < n; i++)

     for(int j = 1; j < m; j++)

        a[i][j] += min(a[i - 1][j], a[i][j - 1]);

  printf("%d", a[n - 1][m - 1]);

  return 0;

}

Объяснение:

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

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

Заполнить массив случайными числами в диапазоне 1000..2000 и подсчитать число элементов, у которых вторая с конца цифра - четная
Ваше имя (никнейм)*
Email*
Комментарий*

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

kabinet17
alina Korneev
Евгеньевич Балиловна1398
klimenko05
krimenu5033
ldstroy
nalich8524
Игоревна
vadimpopov88
funny-furiya
nikitavertiev98400
zhannasokortova
toxicfish
Dmitrievna405
krutikovas