
Дан массив содержащий 2018 положительных целых чисел не превышающих 1000 необходимо уменьшить все
элементы которые больше 100 на одно и то же значение при этом минимальный из них должен стать равным 100. Написать программу в Pascal.

Ответы на вопрос

//PascalABC.NET версия 3.4.0.1677 от 17.06.18
//Если программа не запускается, то обновите версию
begin
var a := ArrRandomInteger(2018, 0, 1000);
var n := a.Where(x -> x >= 100).Min() - 100;
for var i := 0 to a.Count() - 1 do
if a[i] >= 100 then a[i] := a[i] - n;
Println(a);
end.



Вот пример программы на Pascal, которая выполняет указанные условия:
pascalprogram DecreaseArray; const ARRAY_SIZE = 2018; MAX_VALUE = 1000; MAX_THRESHOLD = 100; var arr: array[1..ARRAY_SIZE] of Integer; i, minValue, diff: Integer; begin // Заполняем массив случайными числами Randomize; for i := 1 to ARRAY_SIZE do arr[i] := Random(MAX_VALUE) + 1; // Выводим исходный массив writeln('Исходный массив:'); for i := 1 to ARRAY_SIZE do write(arr[i], ' '); writeln; // Находим минимальное значение в массиве minValue := arr[1]; for i := 2 to ARRAY_SIZE do begin if arr[i] < minValue then minValue := arr[i]; end; // Вычисляем значение для уменьшения diff := minValue - MAX_THRESHOLD; // Уменьшаем элементы массива, превышающие 100 for i := 1 to ARRAY_SIZE do begin if arr[i] > MAX_THRESHOLD then arr[i] := arr[i] - diff; end; // Выводим измененный массив writeln('Измененный массив:'); for i := 1 to ARRAY_SIZE do write(arr[i], ' '); writeln; readln; end.
Программа начинается с объявления констант ARRAY_SIZE
(размер массива), MAX_VALUE
(максимальное значение элементов) и MAX_THRESHOLD
(пороговое значение, в данном случае 100). Затем объявляется массив arr
размером ARRAY_SIZE
.
Далее происходит заполнение массива случайными числами от 1 до MAX_VALUE
с помощью функции Random
.
После этого программа выводит исходный массив на экран.
Затем происходит поиск минимального значения в массиве с помощью цикла for
.
После нахождения минимального значения, программа вычисляет значение diff
, которое является разницей между минимальным значением и MAX_THRESHOLD
(100).
Затем программа проходит по массиву и уменьшает все элементы, превышающие MAX_THRESHOLD
, на значение diff
.
В конце программа выводит измененный массив на экран.
Обратите внимание, что программа использует функцию Randomize
для инициализации генератора случайных чисел. Это позволяет получить каждый раз новую последовательность случайных чисел при запуске программы.
Надеюсь, это поможет! Если у вас возникнут дополнительные вопросы, пожалуйста, дайте мне знать.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili