В массиве из 10 случайных чисел, заполненном из интервала [-10;20], найти количество положительных элементов;...

Тематика Информатика
Уровень 5 - 9 классы
Pascal массив случайные числа положительные элементы сумма нечетные индексы замена элементов интервал программирование
0

В массиве из 10 случайных чисел, заполненном из интервала [-10;20], найти количество положительных элементов; подсчитать сумму элементов, стоящих на нечетных местах; заменить элементы массива, значения которых меньше 10, числом 10. Все в одной программе.

В Pascal'e

avatar
задан 11 дней назад

3 Ответа

0

Вам нужно написать программу на Pascal, которая выполняет несколько операций с массивом из 10 случайных чисел, заполненным из интервала [-10; 20]. Программа должна выполнить следующие шаги:

  1. Сгенерировать массив из 10 случайных чисел в заданном интервале.
  2. Подсчитать количество положительных элементов.
  3. Подсчитать сумму элементов, стоящих на нечетных местах.
  4. Заменить элементы массива, значения которых меньше 10, числом 10.
  5. Вывести результаты на экран.

Вот пример кода на Pascal, который выполняет все вышеуказанные задачи:

program ArrayManipulation;

uses crt;

const
  SIZE = 10;
  MIN_VALUE = -10;
  MAX_VALUE = 20;

var
  arr: array[1.SIZE] of Integer;
  i, positiveCount, sumOfOddIndices: Integer;

begin
  Randomize; // Инициализация генератора случайных чисел

  // Заполнение массива случайными числами из интервала [-10; 20]
  for i := 1 to SIZE do
  begin
    arr[i] := Random(MAX_VALUE - MIN_VALUE + 1) + MIN_VALUE;
  end;

  // Подсчет положительных элементов и суммы на нечетных местах
  positiveCount := 0;
  sumOfOddIndices := 0;

  for i := 1 to SIZE do
  begin
    // Подсчет положительных элементов
    if arr[i] > 0 then
      Inc(positiveCount);

    // Подсчет суммы элементов на нечетных местах
    if i mod 2 = 1 then
      sumOfOddIndices := sumOfOddIndices + arr[i];
  end;

  // Замена элементов, значение которых меньше 10, на 10
  for i := 1 to SIZE do
  begin
    if arr[i] < 10 then
      arr[i] := 10;
  end;

  // Вывод результатов
  writeln('Сгенерированный массив:');
  for i := 1 to SIZE do
  begin
    write(arr[i], ' ');
  end;
  writeln;
  
  writeln('Количество положительных элементов: ', positiveCount);
  writeln('Сумма элементов, стоящих на нечетных местах: ', sumOfOddIndices);
  
  readln; // Ожидание нажатия клавиши
end.

Объяснение кода:

  1. Инициализация и заполнение массива: Сначала мы инициализируем генератор случайных чисел с помощью Randomize, а затем заполняем массив arr случайными числами в интервале от -10 до 20.

  2. Подсчет положительных элементов и суммы на нечетных местах: Мы проходим по всем элементам массива, проверяем, положительное ли число, и суммируем значения, находящиеся на нечетных индексах (1, 3, 5 и т.д.).

  3. Замена элементов: Затем мы снова проходим по массиву и заменяем все элементы, которые меньше 10, на 10.

  4. Вывод результатов: В конце программы мы выводим сгенерированный массив, количество положительных элементов и сумму элементов на нечетных местах.

Программа завершает свою работу, ожидая нажатия клавиши, чтобы пользователь успел увидеть результаты.

avatar
ответил 11 дней назад
0

Вот пример программы на Pascal, которая выполняет указанные операции:

program ArrayManipulation;

uses crt;

var
  arr: array[1.10] of Integer;
  i, positiveCount, sumOddIndex: Integer;

begin
  Randomize;

  // Заполнение массива случайными числами из интервала [-10; 20]
  for i := 1 to 10 do
  begin
    arr[i] := Random(31) - 10; // Генерация числа от -10 до 20
  end;

  // Подсчет количества положительных элементов и суммы элементов на нечетных местах
  positiveCount := 0;
  sumOddIndex := 0;

  for i := 1 to 10 do
  begin
    if arr[i] > 0 then
      Inc(positiveCount);
    
    if i mod 2  0 then // Нечетные индексы (1, 3, 5, 7, 9)
      sumOddIndex := sumOddIndex + arr[i];
    
    // Замена элементов, меньших 10, на 10
    if arr[i] < 10 then
      arr[i] := 10;
  end;

  // Вывод результатов
  WriteLn('Количество положительных элементов: ', positiveCount);
  WriteLn('Сумма элементов на нечетных местах: ', sumOddIndex);
  WriteLn('Изменённый массив:');
  
  for i := 1 to 10 do
  begin
    Write(arr[i], ' ');
  end;

  ReadLn;
end.

Эта программа выполняет все необходимые операции: заполняет массив, подсчитывает количество положительных элементов, суммирует элементы на нечетных местах и заменяет элементы, меньше 10, на 10.

avatar
ответил 11 дней назад
0

Вот пример программы на языке Pascal, которая выполняет все указанные задачи:

program ArrayProcessing;

uses
  crt;

const
  SIZE = 10;

var
  arr: array[1.SIZE] of integer;
  i, positiveCount, oddSum: integer;

begin
  randomize; // Инициализация генератора случайных чисел

  // Заполнение массива случайными числами из интервала [-10; 20]
  writeln('Исходный массив:');
  for i := 1 to SIZE do
  begin
    arr[i] := random(31) - 10; // Генерация случайного числа в интервале [-10; 20]
    write(arr[i]:4); // Вывод элемента массива
  end;
  writeln;

  // Задание 1: Подсчет количества положительных элементов
  positiveCount := 0;
  for i := 1 to SIZE do
  begin
    if arr[i] > 0 then
      Inc(positiveCount); // Увеличение счетчика положительных чисел
  end;

  // Задание 2: Сумма элементов, стоящих на нечетных местах
  oddSum := 0;
  for i := 1 to SIZE do
  begin
    if i mod 2  0 then // Проверка на нечетность индекса
      oddSum := oddSum + arr[i];
  end;

  // Задание 3: Замена элементов массива, значения которых меньше 10, на 10
  for i := 1 to SIZE do
  begin
    if arr[i] < 10 then
      arr[i] := 10;
  end;

  // Вывод результатов
  writeln('Количество положительных элементов: ', positiveCount);
  writeln('Сумма элементов на нечетных местах: ', oddSum);

  // Вывод измененного массива
  writeln('Измененный массив:');
  for i := 1 to SIZE do
    write(arr[i]:4);
  writeln;
end.

Пояснение к программе:

  1. Заполнение массива:

    • Используется процедура randomize для инициализации генератора случайных чисел.
    • Функция random(31) генерирует случайное число от 0 до 30, а вычитание 10 преобразует его в диапазон от -10 до 20.
  2. Подсчет положительных чисел:

    • Для каждого элемента массива проверяется условие arr[i] > 0. Если условие выполняется, счетчик увеличивается на 1 с помощью Inc.
  3. Сумма элементов на нечетных местах:

    • Индексы массива начинаются с 1. Для проверки нечетности индекса используется условие i mod 2 0.
  4. Замена элементов:

    • Проверяется условие arr[i] < 10. Если оно выполняется, элемент заменяется на 10.
  5. Вывод результатов и массива:

    • Массив выводится на экран дважды: первоначальный и модифицированный.

Этот код аккуратно решает все поставленные задачи и демонстрирует работу с массивами в Pascal.

avatar
ответил 11 дней назад

Ваш ответ

Вопросы по теме