М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Dianapro111
Dianapro111
13.05.2021 17:03 •  Информатика

Создать одномерный массив содержащий элементы над главной диагональю очень нужен зачет

👇
Открыть все ответы
Ответ:
JasoonVORheeZ
JasoonVORheeZ
13.05.2021
Type
  tE = record
    v: integer;
    p: integer;
  end;

procedure Swap2E(var a: tE; var b: tE);
// Обмен содержимым пары записей
var
  Buff: integer;
begin
  Buff := a.v; a.v := b.v; b.v := Buff;
  Buff := a.p; a.p := b.p; b.p := Buff
end;

procedure Swap3E(var a: tE; var b: tE; var c: tE);
// Обмен содержимым трех записей
// Предполагается, что до вызова процедуры a.v>=b.v,
// после вызова значение с.v помещается в a.v или b.v так,
// чтобы большее из трех значений попало в a.v, а следующее
// по величине попало в b.v. Младшее значение теряется. 
begin
  if c.v >= a.v then begin
    Swap2E(a, b); Swap2E(a, c)
  end
  else
  if c.v > b.v then Swap2E(b, c);
end;

const
  n = 50;

var
  a: array[1..n] of integer;
  R1, R2, T: tE;
  i, e, m: integer;

begin
  i := 1;
  writeln('Вводите числа, 0 - конец ввода');
  repeat
    read(e);
    a[i] := e;
    i:=i+1;
  until e = 0;
  m := i;
  if a[1] > a[2] then begin
    R1.v := a[1]; R1.p := 1;
    R2.v := a[2]; R2.p := 2
  end
  else begin
    R1.v := a[2]; R1.p := 2;
    R2.v := a[1]; R2.p := 1
  end;
  for i := 3 to m do
  begin
    T.v := a[i];
    T.p := i;
    Swap3E(R1, R2, T)
  end;
  writeln('Максимальные значения имеют элементы с номерами ', R1.p, ' и ', R2.p);
  writeln('Сумма этих элементов равна ', R1.v + R2.v)
end.

Контрольный пример:

Вводите числа, 0 - конец ввода
18
6
13
40
14
52
0
Максимальные значения имеют элементы с номерами 6 и 4
Сумма этих элементов равна 92
4,6(90 оценок)
Ответ:
rne
rne
13.05.2021
Sub z()
n = InputBox("Введите троичное число")
Do
        d = d + (n Mod 10) * 3 ^ i
        i = i + 1
        n = n \ 10
        Loop Until n = 0
MsgBox ("Десятичное: " & d & "; восьмеричное: " & Oct(d))
d = 0
i = 0
n = InputBox("Введите восьмеричное число")   
Do
        d = d + (n Mod 10) * 8 ^ i
        i = i + 1
        n = n \ 10
        Loop Until n = 0
x = d   
Do
        t = t & (x Mod 3)
        x = x \ 3
        Loop Until x = 0
t = StrReverse(t)
MsgBox ("Десятичное: " & d & "; троичное: " & t)
End Sub
4,6(72 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ