Вопрос задан 05.07.2023 в 07:08. Предмет Информатика. Спрашивает Ахметов Ахат.

Дан одномерный массив целого типа. Получить другой массив, состоящий только из нечетных чисел

исходного массива, или сообщить, что таких чисел нет. Полученный массив вывести в порядке убывания элементов. Delphi
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Волк Анастасия.

Delphi

Ответ:

  • var
  •  a1, a2: array of integer;
  •  n, c, i: integer;
  • procedure PrintDescending(a: array of integer);
  • var i, j, max: integer;
  • begin
  •  for i := 0 to Length(a) - 1 do
  •  begin
  •    for j := 0 to Length(a) - 1 do
  •      if a[j] > a[max] then max := j;
  •    Write(a[max], ' ');
  •    a[max] := -10001;
  •  end;
  • end;
  • begin
  •  //Запрашиваем ввод длины массива:
  •  Write('Введите длину массива: ');
  •  Read(n);
  •  
  •  //Устанавливаем длину массивов:
  •  SetLength(a1, n);
  •  SetLength(a2, n);
  •  
  •  //Заполняем первый массив случайными числами:
  •  for i := 0 to n - 1 do
  •    a1[i] := Random(201) - 100;
  •  
  •  //Заполняем второй массив только нечётными элементами первого:
  •  for i := 0 to n - 1 do
  •    if Abs(a1[i]) mod 2 = 1 then  
  •    begin
  •      a2[c] := a1[i];
  •      c := c + 1;
  •    end;
  •  
  •  //Урезаем второй массив:
  •  SetLength(a2, c);
  •  
  •  //Выводим первый массив:
  •  for i := 0 to n - 1 do
  •    Write(a1[i], ' ');
  •  Writeln;
  •  
  •  //Выводим второй массив в порядке убывания:
  •  if c = 0 then Write('Нечётных элементов нет.')
  •  else PrintDescending(a2);
  • end.

Пример работы:


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

В Delphi вы можете реализовать это, используя следующий код:

delphi
program OddNumbersArray; uses SysUtils; var inputArray, outputArray: array of Integer; i, oddCount: Integer; begin // Ввод исходного массива Write('Введите элементы массива (через пробел): '); ReadLn(inputArray); // Подсчет количества нечетных чисел oddCount := 0; for i := 0 to Length(inputArray) - 1 do begin if inputArray[i] mod 2 <> 0 then Inc(oddCount); end; if oddCount = 0 then WriteLn('В исходном массиве нет нечетных чисел.') else begin // Инициализация выходного массива SetLength(outputArray, oddCount); // Заполнение выходного массива нечетными числами в порядке убывания oddCount := 0; for i := Length(inputArray) - 1 downto 0 do begin if inputArray[i] mod 2 <> 0 then begin outputArray[oddCount] := inputArray[i]; Inc(oddCount); end; end; // Вывод выходного массива WriteLn('Массив нечетных чисел в порядке убывания: ', outputArray); end; ReadLn; end.

Этот код запрашивает у пользователя ввод элементов исходного массива, затем считает количество нечетных чисел и создает выходной массив нечетных чисел в порядке убывания. Если в исходном массиве нет нечетных чисел, выводится сообщение об этом. В противном случае выводится полученный массив нечетных чисел в порядке убывания элементов.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос