М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Милана2345
Милана2345
08.02.2023 15:59 •  Информатика

Составьте программу, которая заполняет массив a [1..10] случайными целыми числами в диапазоне от 1 до 10 и выводит на экран последний элемент с нечетным значением и его индекс.

👇
Ответ:
Katerinka0307
Katerinka0307
08.02.2023
Готово
4,6(13 оценок)
Открыть все ответы
Ответ:
BlackStar14
BlackStar14
08.02.2023
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.
4,5(1 оценок)
Ответ:
const
  n = 15;

var
  a, b: array[1..n] of integer;
  i, j, step, t: integer;
  flag: boolean;

begin
  Randomize;
  Writeln('Исходные элементы массива');
  for i := 1 to n do
  begin
    a[i] := Random(10) - 5;
    Write(a[i]:4)
  end;
  { Сортируем массив (метод Шелла) }
  step := n div 2;
  while step > 0 do
  begin
    for j := n - step downto 1 do
    begin
      i := j;
      while i <= n - step do
      begin
        if a[i] > a[i + step] then
        begin
          t := a[i]; a[i] := a[i + step]; a[i + step] := t
        end;
        i := i + step
      end
    end;
    step := step div 2
  end;
  {
  проходим по массиву и если элемент встречается более одного раза подряд,
  переносим его в другой массив
  }
  j := 0; t := a[1]; flag := false;
  for i := 2 to n do
  begin
    if (a[i] = t) and (not flag) then
    begin
      j := j + 1; b[j] := t; flag := true
    end
    else begin flag := false; t := a[i] end
  end;
  Writeln;
  Writeln('Отобранные элементы массива');
  for i := 1 to j do Write(b[i]:4);
  Writeln
end.

Тестовое решение:

Исходные элементы массива
  -2   4   1  -3  -1  -2  -5  -1   2   4   1   3  -5  -2  -3
Отобранные элементы массива
  -5  -3  -2  -1   1   4
4,5(48 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ