1. в массиве из 17 элементов, заполненном случайными целыми двузначными числами, заменить элементы, равные 50, нулями. сколько произведено замен? 2. в массиве из 17 элементов, заполненном случайными целыми двузначными числами, подсчитать количество элементов, равных 50. pascal

askardilnaz askardilnaz    1   11.09.2019 06:50    0

Ответы
06Loki90 06Loki90  16.08.2020 14:04
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(17,42,65); a.Println;
  var k:=a.Where(t->t=50).Count; // кол-во элементов =50 - задание 2
  Writeln('Кол-во элементов, равных 50: ',k);
  a.Transform(t->t=50?0:t); a.Println // замена и вывод - задание 1
end.

Пример
65 45 55 47 50 44 45 43 50 51 44 43 56 45 65 51 65
Кол-во элементов, равных 50: 2
65 45 55 47 0 44 45 43 0 51 44 43 56 45 65 51 65
ПОКАЗАТЬ ОТВЕТЫ
Girlverysilly098887 Girlverysilly098887  16.08.2020 14:04
1)
var
  arr: array[1..17] of smallint;
  k, i: smallint;

begin
  randomize();
  k := 0;
  write('Массив до замены:    ');
  for i := 1 to 17 do
  begin
    arr[i] := random(10, 99);
    write(arr[i], ' ');
  end;
  writeln();
  write('Массив после замены: ');
  for i := 1 to 17 do
  begin
    if arr[i] = 50 then begin
      arr[i] := 0;
      k := k + 1;
      write(' ');  //эта строка только для оформления вывода, она необязательна
    end;
    write(arr[i], ' ');
  end;
  writeln();
  writeln('Кол-во замененных элементов: ', k);
end.

2)
var
  arr: array[1..17] of smallint;
  k, i: smallint;

begin
  randomize();
  k := 0;
  write('Массив до замены: ');
  for i := 1 to 17 do
  begin
    arr[i] := random(10, 99);
    write(arr[i], ' ');
    if arr[i] = 50 then k := k + 1;
  end;
  writeln();
  writeln('Кол-во элементов, равных 50-ти: ', k);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика