Вопрос задан 08.05.2019 в 04:50. Предмет Информатика. Спрашивает Майер Соня.

Дан массив из 20 целых чисел. Записать в новый массив те числа в которых количество чётных

чисел=количеству нечётных. Найти максимум среди отрицательных и минимум среди положительных. Задача решается на Паскале. Пожалуйста помогите кто сможет решить!!!
0 0
Перейти к ответам

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

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

var
 pos,neg: integer;
 i,k,x: integer;
 ev,un: integer;
 a,b: array [1..n] of integer;

begin
 for i := 1 to n do
   read(a[i]);
  k := 0;
 pos := 0;
 neg := 0;
  for i := 1 to n do
   begin
      ev := 0;
   un := 0;
      x := a[i];
      if x <> 0 then
     if x > 0 then
       if (x < pos) or (pos = 0) then
         pos := x
       else
     else
       if (x > neg) or (neg = 0) then
         neg := x;
      x := abs(x);
      while x <> 0 do
     begin
     if odd(x) then
       un := un + 1
     else
       ev := ev + 1;
     x := x div 10
     end;
      if un = ev then
     begin
     k := k + 1;
     b[k] := a[i]
     end
      end;

 writeln(pos,' ',neg);
 for i := 1 to k do
   write(b[i],' ')
 end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам написать программу на Паскале для решения данной задачи. Ниже приведен пример кода:

```pascal program ArrayOperations;

const SIZE = 20;

var inputArray: array[1..SIZE] of integer; evenCount, oddCount, i, maxNeg, minPos: integer; resultArray: array of integer;

begin // Вводим значения в массив writeln('Введите 20 целых чисел:'); for i := 1 to SIZE do begin write('Число ', i, ': '); readln(inputArray[i]); end;

// Инициализируем счетчики evenCount := 0; oddCount := 0;

// Подсчитываем количество четных и нечетных чисел for i := 1 to SIZE do begin if inputArray[i] mod 2 = 0 then evenCount := evenCount + 1 else oddCount := oddCount + 1; end;

// Проверяем и создаем новый массив if evenCount = oddCount then begin SetLength(resultArray, evenCount); evenCount := 0; // сбрасываем счетчик четных чисел for i := 1 to SIZE do begin if inputArray[i] mod 2 = 0 then begin resultArray[evenCount] := inputArray[i]; evenCount := evenCount + 1; end; end;

// Находим максимум среди отрицательных maxNeg := resultArray[0]; for i := 1 to evenCount - 1 do begin if (resultArray[i] < 0) and (resultArray[i] > maxNeg) then maxNeg := resultArray[i]; end;

// Находим минимум среди положительных minPos := resultArray[0]; for i := 1 to evenCount - 1 do begin if (resultArray[i] > 0) and (resultArray[i] < minPos) then minPos := resultArray[i]; end;

// Выводим результаты writeln('Максимум среди отрицательных: ', maxNeg); writeln('Минимум среди положительных: ', minPos); end else writeln('Количество четных и нечетных чисел не совпадает.');

readln; end. ```

Этот код сначала заполняет массив `inputArray` из 20 целых чисел, затем подсчитывает количество четных и нечетных чисел. Если эти количества совпадают, создается новый массив `resultArray` из четных чисел и находятся максимум среди отрицательных и минимум среди положительных чисел в этом новом массиве. В противном случае выводится сообщение о том, что количество четных и нечетных чисел не совпадает.

0 0

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

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

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