Вопрос задан 29.10.2023 в 12:18. Предмет Информатика. Спрашивает Aripkhanova Nasiba.

PascalABCNET Указание: для каждой задачи создайте алгоритм и программу. Заполните одномерный

числовой массив D(15) случайными целыми числами в интервале [-20; 18]. Выведите значения элементов массива сначала в столбик, а затем в строку, причем на каждый элемент отведите 4 позиции. Ответ каждой задачи следует выводить с новой строки и с пояснительным текстом. Кроме того, следует каждый раз производить пвывод массива на экран, если в нем произошли изменения: перестановка, замена, изменение значения элементов и т.д. Задание 1. Найдите отдельное количество отрицательных и положительных элементов массива. Задание 2. Найдите произведение элементов, имеющих значение меньше -2 (минус два). Задание 3. Найдите максимальный элемент массива из элементов, стоящих на местах, номера которых кратны пяти. Задание 4. Замените отрицательные элементы, стоящие на нечётных местах на последний элемент массива. Задание 5. Если в массиве имеются нулевые элементы, то найдите сумму элементов массива, имеющих значение, кратное трем, иначе выведите на экран положительные элементы массива. Задание 6*. Найдите в массиве элементы, кратные 12, и вывести на экран их номера. Если таких элементов нет, то выведите сообщение об этом на экран. Задание 7*. Выведите на экран одномерный массив, раскрасив в нем красным цветом кратные 12 элементы.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Вотинов Никита.
Const
  n=15;
var
  d:array[1..n] of integer;
  i:integer;
begin
  //Инициализация и вывод
  Randomize;
  Writeln('Исходный массив в столбик:');
  for i:=1 to n do
  begin
    d[i]:=Random(-20,18);
    Writeln(d[i]:4)
  end;
  Writeln('Исходный массив в строку:');
  for i:=1 to n do Write(d[i]:4);
  Writeln;
  {
  Задание 1. Найдите отдельное количество
  отрицательных и положительных элементов массива.
  }
  begin
    var ineg,ipos:integer;
    ineg:=0; ipos:=0;
    for i:=1 to n do
      if d[i]>0 then Inc(ipos)
      else if d[i]<0 then Inc(ineg);
    Writeln('Задание 1');
    Writeln('Количество отрицательных элементов ',ineg,
      ', положительных- ',ipos)
  end;
  {
  Задание 2. Найдите произведение элементов,
  имеющих значение меньше -2
  }
  begin
    var p:integer:=1;
    for i:=1 to n do
      if d[i]<-2 then p*=d[i];
    Writeln('Задание 2');
    Writeln('Произведение элементов, меньших -2: ',p)
  end;
  {
  Задание 3. Найдите максимальный элемент массива из элементов,
  стоящих на местах, номера которых кратны пяти.
  }
  begin
    var dmax:integer;
    i:=10; dmax:=d[5];
    while i<=n do begin
      if dmax<d[i] then dmax:=d[i];
      i+=5
    end;
    Writeln('Задание 3');
    Writeln('Максимальный элемент массива из элементов,');
    Writeln('стоящих на местах с номером, кратным 5: ',dmax)
  end;
  {
  Задание 4. Замените отрицательные элементы,
  стоящие на нечётных местах на последний элемент массива
  }
  i:=1;
  while i<=n do begin
    if d[i]<0 then d[i]:=d[n];
    i+=2
  end;
  Writeln('Задание 4');
  Writeln('Отрицательные элементы, стоящие на нечётных местах,');
  Writeln('заменены последним элементом массива:');
  for i:=1 to n do Write(d[i]:4);
  Writeln;
  {
  Задание 5. Если в массиве имеются нулевые элементы,
  то найдите сумму элементов массива, имеющих значение, кратное трем,
  иначе выведите на экран положительные элементы массива
  }
  begin
    var sum:integer:=0;
    var FlagSum:boolean:=False;
    for i:=1 to n do
    begin
      Flagsum:=(d[i]=0);
      if FlagSum then break
    end;
    Writeln('Задание 5');
    if FlagSum then begin
      for i:=1 to n do
        if (d[i] mod 3)=0 then sum+=d[i];
      Writeln('Сумма элементов, имеющих значение, кратное трем: ',sum)
    end
    else
    begin
      Writeln('Положительные элементы массива:');
      for i:=1 to n do if d[i]>0 then Write(d[i]:4);
      Writeln
    end
  end;
  {
  Задание 6*. Найти в массиве элементы, кратные 12,
  и вывести на экран их номера. Если таких элементов нет,
  то вывести сообщение об этом на экран.
  }
  Writeln('Задание 6*');
  begin
    var k:integer:=0;
    var p:array[1..n] of integer;
    for i:=1 to n do
      if (d[i] mod 12)=0 then begin Inc(k); p[k]:=i end;
    if k>0 then begin
      Writeln('Номера элементов массива, кратных 12:');
      for i:=1 to k do Write(p[i]:3);
      Writeln
    end
    else Writeln('В массиве нет элементов, кратных 12')
  end
end.

Тестовое решение:
Исходный массив в столбик:
 -12
  -5
  -2
  15
 -20
  13
  -4
  -2
  12
  17
  12
  14
   2
   3
 -20
Исходный массив в строку:
 -12  -5  -2  15 -20  13  -4  -2  12  17  12  14   2   3 -20
Задание 1
Количество отрицательных элементов 7, положительных- 8
Задание 2
Произведение элементов, меньших -2: -96000
Задание 3
Максимальный элемент массива из элементов,
стоящих на местах с номером, кратным 5: 17
Задание 4
Отрицательные элементы, стоящие на нечётных местах,
заменены последним элементом массива:
 -20  -5 -20  15 -20  13 -20  -2  12  17  12  14   2   3 -20
Задание 5
Положительные элементы массива:
  15  13  12  17  12  14   2   3
Задание 6*
Номера элементов массива, кратных 12:
  9 11

Задание 7*. Выведите на экран одномерный массив,
раскрасив в нем красным цветом кратные 12 элементы.

uses
  GraphABC;
const
  n=15;
var
  d:array[1..n] of integer;
  i:integer;
begin
  SetWindowSize(800,600);
  Randomize;
  for i:=1 to n do
  begin
    d[i]:=Random(-20,18);
    if (d[i] mod 12)=0 then begin
      SetFontColor(clRed);
      Write(d[i]:4);
      SetFontColor(clBlack)
    end
    else Write(d[i]:4)
  end;
  Writeln
end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Задание 1. Найдите отдельное количество отрицательных и положительных элементов массива. Алгоритм: 1. Создать одномерный числовой массив D(15). 2. Заполнить массив D случайными целыми числами в интервале [-20; 18]. 3. Объявить переменные countPositive и countNegative и инициализировать их нулями. 4. Для каждого элемента i в массиве D: 4.1 Если i больше нуля, увеличить значение countPositive на единицу. 4.2 Если i меньше нуля, увеличить значение countNegative на единицу. 5. Вывести значение переменных countPositive и countNegative. Программа на PascalABC.NET: ```pascal const N = 15; var D: array[1..N] of integer; countPositive, countNegative: integer; i: integer; begin Randomize; // Заполнение массива D случайными целыми числами for i := 1 to N do D[i] := Random(39) - 20; countPositive :=
0 0

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

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

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

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