Сформировать массив случайных чисел в диапазоне от 10 до 20 и округлить значения...

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

Сформировать массив случайных чисел в диапазоне от 10 до 20 и округлить значения элементов, по модулю меньших 1


Информатика (1.5k баллов) | 142 просмотров
0

Округлить до чего?

0

Округлить до целого числа, скорее всего

0

А откуда среди чисел в диапазоне от 10 до 20 могут появиться меньшие 1, да еще и по модулю? Скорее всего, в условии было [-10;20]

0

там было -10. просто не увидела, что не написалось

Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
begin
  var n:=ReadInteger('Кол-во элементов:');
  var a:=ArrRandomReal(n,-10,20); a.Println;
  Writeln('С округлением если |x|<1');<br>  for var i:=0 to n-1 do
    if abs(a[i])<1 then a[i]:=Round(a[i]);<br>  a.Println
end.

Тестовое решение:
Кол-во элементов: 10
-0.751956142835299 5.95022566427953 3.58861613254464 7.42331713783709 -4.75036238075717 -9.41228387384316 -0.700975591643235 3.85500546258642 -1.94321916994789 19.3021338336645
С округлением если |x|<1<br>-1 5.95022566427953 3.58861613254464 7.42331713783709 -4.75036238075717 -9.41228387384316 -1 3.85500546258642 -1.94321916994789 19.3021338336645

(142k баллов)
0

А обязательно нужно вставлять n-1?

0

Особенность динамических массивов: они индексируются не с 1 а с 0. Поэтому индексы для n элементов находятся на интервале [0;n-1]

0

спасибо