GAECHKA
Твоя помощница в решении задач

Подпрограммы. Параметры - сложные типы данных

Дан целочисленный массив, состоящий из 10 элементов.Все положительные элементы массива увеличить вдвое. через процедуру
0
вопрос задан

Источник


3 ответа
Решение
program Zadanie27;
 
procedure ydvoenie (c: integer; var d: integer);
begin
 if c > 0 then
   d:= c*2
 else
   d:= c;
end;
 
var
  a,b:array[1..10] of integer;
  i: integer;
begin
writeln('Исходный массив А:');
  for i:=1 to 10 do
    begin
    a[i]:= random(201)- 100;
    write(a[i],' ');
    end;
writeln;
writeln('Массив В с результатом вычислений:');
  for i:=1 to 10 do
   begin
   ydvoenie(a[i],b[i]);
   write(b[i],' ');
   end;
readln;
end.
Спасибо.
ValentinNemo, зачем 2 массива? С одним можно. И в функцию передавать один параметр.
procedure double(var x: integer);
begin
  if x > 0 then x := x * 2;
end;
 
const n = 10;
var
  a: array[1..n] of integer;
  i: integer;
begin
  randomize;
  writeln('Исходный массив:');
  for i := 1 to n do
    begin
      a[i] := random(201) - 100;
      write(a[i], ' ');
    end;
  writeln;
  
  writeln('Массив с результатом вычислений:');
  for i := 1 to 10 do
    begin
      double(a[i]);
      write(a[i], ' ');
    end;
  //readln; // писал в Online-IDE потому закоментил
end.