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

    question img

Ответы 3

  • что-то я не очень понял решение, но все равно спасибо! 
    • Автор:

      mercedes
    • 5 лет назад
    • 0
  • Можешь  написать просто две раздельных проги? 
    • Автор:

      bubbajeap
    • 5 лет назад
    • 0
  • {Записал оба решения в одной программе. Можете использовать процедуры и функции по своему усмотрению}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] > v[m] then     m := i; findMax := mend;procedure swap(var v:vector; l,r:integer);{меняет местами элементы массива с заданными индексами}var t: integer;begin t := v[l]; v[l] := v[r]; v[r] := tend;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 := abs(x); while x > 0 do   begin   s := s + x mod 10;   x := x div 10   end; sum := send;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.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years