
Вопрос задан 05.07.2023 в 07:08.
Предмет Информатика.
Спрашивает Ахметов Ахат.
Дан одномерный массив целого типа. Получить другой массив, состоящий только из нечетных чисел
исходного массива, или сообщить, что таких чисел нет. Полученный массив вывести в порядке убывания элементов. Delphi

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

Отвечает Волк Анастасия.
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.
Пример работы:




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
В Delphi вы можете реализовать это, используя следующий код:
delphiprogram 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.
Этот код запрашивает у пользователя ввод элементов исходного массива, затем считает количество нечетных чисел и создает выходной массив нечетных чисел в порядке убывания. Если в исходном массиве нет нечетных чисел, выводится сообщение об этом. В противном случае выводится полученный массив нечетных чисел в порядке убывания элементов.


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

Информатика 23

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