Помогите с задачками по информатике! Задачки на паскале и с функцией,

Помогите с задачками по информатике! Задачки на паскале и с функцией, или процедурой

Задать свой вопрос
Роман Сироватко
Предполагается, что необходимо сделать массив-переменную, скопировать туда элементы из массива-константы, а позже провести над ним какие-то преображения? И если у нас процедуры/функции с массивами, нужно для него определить тип?
Вовка Авсянников
Да, необходимо вывести в новый массив все это дело, определять тип тоже нужно. 
Ирка Прилетина
Ок
1 ответ
Записал оба решения в одной программке. Можете использовать процедуры и функции по собственному усмотрению

const 
 n = 8;

type
 vector = array[1..n] of integer;

const
 c : vector = (14, 28, 55, 46, 23, 424, 32, 18);

function findMax(var v:vector; l,r:integer):integer;
индекс максимального элемента в спектре от l до r
var 
 i, m:integer;
begin
 m := l;
 for i := l + 1 to r do
   if v[i] gt; v[m] then
     m := i;
 findMax := m
end;

procedure swap(var v:vector; l,r:integer);
меняет местами элементы массива с данными индексами
var
 t: integer;
begin
 t := v[l];
 v[l] := v[r];
 v[r] := t
end;

procedure print(var v: vector; l,r:integer);
печатает элементы массива под номерами от l до r
var
 i: integer;
begin
 for i := l to r do
   write(v[i],' ')
end;

function sum(x: integer): integer;
var
 s: integer;
begin
 s := 0;
 x := абс(x);
 while x gt; 0 do
   begin
   s := s + x mod 10;
   x := x div 10
   end;
 sum := s
end;

var
 v1, v2: vector;
 i: integer; просто цикловая переменная
 l,r: integer; переменные для задачки 1
 k: integer; для задачки 2

begin

 1
 for i := 1 to n do
   v1[i] := c[i]; 
 l := findMax(v1, 1, n div 2);
 r := findMax(v1, n div 2 + 1, n);
 swap(v1, l, r);
 print(v1, 1, n);
 writeln;

 2
 k := 0;
 for i := 1 to n do
  if sum(c[i]) = 10 then
  begin
  k := k + 1;
  v2[k] := c[i]
  end;
 print(v2, 1, k)

end.
Дарина Гороненкова
что-то я не очень сообразил решение, но все одинаково спасибо! 
Инна Паланкина
Можешь  написать просто две раздельных проги? 
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт