Дано целое число N – количество элементов массива. Вывести те цифры элементов массива,...

0 голосов
36 просмотров

Дано целое число N – количество элементов массива.
Вывести те цифры элементов массива, которые содержатся хотя бы в одном из разрядов сотен.Паскаль,задачи надо решать с помощью множеств


Информатика (475 баллов) | 36 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
1. "Современный вариант"

// PascalABC.NET 3.0, сборка 1076
begin
  var n:=ReadInteger('Введите количество элементов массива: ');
  var a:=ArrRandom(n,1000,10000);
  Write('Исходный массив: ',a,#13#10);
  Write('Множество цифр из разряда сотен: ');
  a.Select(x->(x mod 1000) div 100).Sorted.Distinct.Println(',')
end.

Тестовое решение:
Введите количество элементов массива: 8
Исходный массив: [9374,4420,8856,8274,7555,2461,8302,6325]
Множество цифр из разряда сотен: 2,3,4,5,8

2. "Школьный вариант"

// PascalABC.NET 3.0, сборка 1076
var
  i,n:integer;
  sd:set of 0..9;
  a:array[1..50] of integer;
begin
  Write('Введите количество элементов массива: '); Read(n);
  Randomize;
  Write('Исходный массив: ');
  sd:=[];
  for i:=1 to n do begin
    a[i]:=Random(9001)+1000;
    Write(a[i],' ');
    Include(sd,(a[i] mod 1000) div 100)
    end;
  Writeln;
  Write('Множество цифр из разряда сотен: ');
  for i:=0 to 9 do
    if i in sd then Write(i:2);
  Writeln
end.

Тестовое решение:
Введите количество элементов массива: 8
Исходный массив: 5332 4215 7231 3399 6989 8904 7804 3517
Множество цифр из разряда сотен:  2 3 5 8 9
(142k баллов)
0

Специально два варианта, чтобы понять: в школе учат решать так, как решать не нужно: длинно и запутанно, следовательно это и сложнее написать без ошибок, и отладить, и объяснить, и понять.