Top.Mail.Ru
Ответы
Аватар пользователя
8мес
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

(Pascal) нужно расписать решение задачи чтобы ставить в паскаль

Дан целочисленный одномерный массив, состоящий из n элементов. Найти сумму и произведение нечетных элементов, кратных 3

По дате
По рейтингу
Аватар пользователя
Мудрец
8мес

Код:

1234567891011121314151617181920212223242526272829303132333435363738
 program SumAndProductOfOddMultiplesOfThree; 
 
const 
  n = 10; // Количество элементов в массиве 
 
var 
  i: Integer; 
  arr: array[1..n] of Integer; 
  Sum, Product: Integer; 
  HasFound: Boolean; 
 
begin 
  // Пример заполнения массива (можно заменить на чтение из входных данных) 
  for i := 1 to n do 
    arr[i] := Random(30) - 15; // Заполняем случайными числами от -15 до 14 
 
  Sum := 0; 
  Product := 1; 
  HasFound := False; 
 
  for i := 1 to n do 
  begin 
    if (arr[i] mod 3 = 0) and (Odd(arr[i])) then 
    begin 
      Sum := Sum + arr[i]; 
      Product := Product * arr[i]; 
      HasFound := True; 
    end; 
  end; 
 
  if not HasFound then 
    Product := 0; // Если не было найдено ни одного подходящего элемента 
 
  WriteLn('Сумма нечетных элементов, кратных 3: ', Sum); 
  WriteLn('Произведение нечетных элементов, кратных 3: ', Product); 
 
  Readln; 
end.  

Код без рандома:

12345678910111213141516171819202122232425262728293031323334353637383940414243
 program SumAndProductOfOddMultiplesOfThree; 
 
const 
  n = 10; // Количество элементов в массиве 
 
var 
  i: Integer; 
  arr: array[1..n] of Integer; 
  Sum, Product: Integer; 
  HasFound: Boolean; 
 
begin 
  // Ввод элементов массива с клавиатуры 
  WriteLn('Введите ', n, ' целых чисел:'); 
  for i := 1 to n do 
  begin 
    Write('Элемент ', i, ': '); 
    Readln(arr[i]); 
  end; 
 
  Sum := 0; 
  Product := 1; 
  HasFound := False; 
 
  for i := 1 to n do 
  begin 
    if (arr[i] mod 3 = 0) and (Odd(arr[i])) then 
    begin 
      Sum := Sum + arr[i]; 
      Product := Product * arr[i]; 
      HasFound := True; 
    end; 
  end; 
 
  if not HasFound then 
    Product := 0; // Если не было найдено ни одного подходящего элемента 
 
  WriteLn('Сумма нечетных элементов, кратных 3: ', Sum); 
  WriteLn('Произведение нечетных элементов, кратных 3: ', Product); 
 
  Readln; 
end. 
 
Аватар пользователя
Искусственный Интеллект
8мес

Ну мне-то не жалко, но боюсь, засыпесси ты с таким кодом-то:

1234567891011121314151617
 type 
  PInteger = ^integer; 
 
  procedure SumMulInt(_a: PInteger; _n: integer; var __Sum, __Mul: integer); 
  var 
    i: integer; 
  begin 
    __Sum := 0; 
    __Mul := 1; 
    for i := 1 to _n do 
      if (_a^ mod 3 = 0) and (_a^ and 1 = 1) then 
      begin 
        __Sum := __Sum + _a^; 
        __Mul := __Mul * _a^; 
        Inc(_a); 
      end; 
  end;