Нужна в переводе программы с Pascal на VBA var
z,c,o,x:real;
I:byte;
begin
writeln('Введите x');
readln(x);
i:=1;
c:=1;z:=1;
while(i<=63) do
begin
c:=c*(x-i);
i:=i+2;
end;
i:=2;
while(i<=64) do
begin
z:=z*(x-i);
i:=i+2;
end;
Writeln(c);
Writeln('--');
Writeln(z);
writeln('ответ=',c/z:5:2);
end.
var
a:array[1..n] of integer;
i,j,t,x,i1,i2:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(21);
Write(a[i],' ')
end;
Writeln;
for i:=1 to n-1 do
for j:=1 to n-i do
if a[j]<a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
write('x = '); readln(x);
i1:=1; i2:=n;
repeat
i:=(i1+i2) div 2;
if a[i]>x then i1:=(i1+i2) div 2+1;
if a[i]<x then i2:=(i1+i2) div 2-1;
until (a[i]=x)or(i1>i2);
if a[i]=x then
begin
writeln('Искомый(ые) номер(а) элемента(ов):');
while (i>0)and(a[i]=x) do i:=i-1;
i:=i+1;
while (i<=n)and(a[i]=x) do begin write(i,' '); i:=i+1; end;
end
else writeln('Элемент не найден');
writeln;
end.
Пример:
Исходный массив:
15 4 16 3 7 10 3 1 18 6 18 2 7 11 10 16 2 10 7 12
Отсортированный массив:
18 18 16 16 15 12 11 10 10 10 7 7 7 6 4 3 3 2 2 1
x = 10
Искомый(ые) номер(а) элемента(ов):
8 9 10
Теперь в табл.2 ищем строки с этим 34:
1) Строка 2. ID_жильца=8, ID_соседа_этажа_сверху=34 Это понимается так, что Потапова К.В. живет сверху соседа с Id=7, сведения о котором берем из Табл.1 (Сокол П.К.)
2) Строка 3. ID_жильца=23, ID_соседа_этажа_сверху=34. Тот же случай, это сосед, также живущий снизу Потаповой К.В. По табл.1. устанавливаем, что это Сергеева К.В.
3) Строка 4. ID_жильца=34, ID_соседа_этажа_сверху=78. Это сосед сверху, Соловьев А.П.
4) Строка 5. ID_жильца=34, ID_соседа_этажа_сверху=1. Это тоже сосед сверху, Соловьева Н.Г.
Итак, расположение соседей:
Соловьев А.П., Соловьева Н.Г.
Потапова К.В.
Сергеева К.В., Сокол П.К.