Определить виды матриц из данного примера: (2*a*e)+t для vba, знаю только, что e-треугольная. sub sup() dim a() as integer dim b() as integer dim c() as integer dim d() as integer dim e() as integer dim t() as integer dim n as integer dim i as integer dim j as integer dim k as integer n = inputbox("введите количество столбцов") redim a(n, n) redim b(n, n) redim c(n, n) redim d(n, n) redim e(n, n) redim t(n, n) randomize range("a1").value = "(2*a*t)+e" range("a2").value = "матрица a" for i = 1 to n for j = 1 to n if i < > j then a(i, j) = 1 end if next j next i for i = 1 to n for j = 1 to n cells(2 + 1, j).value = a(i, j) next j next i cells(3 + n, 1).value = "матрица t" for i = 1 to n for j = 1 to n if i > = j then t(i, j) = 0 else t(i, j) = rnd * 10 end if next j next i for i = 1 to n for j = 1 to n cells(3 + n + i, j).value = t(i, j) next j next i cells(4 + n * 2, 1).value = "матрица e" for i = 1 to n for j = 1 to n e(i, j) = rnd * 10 if i < > j then e(j, i) = c(i, j) next j next i for i = 1 to n for j = 1 to n cells(4 + n * 2 + i, j).value = e(i, j) next j next i cells(5 + n * 3, 1).value = "c=a*t" for i = 1 to n for j = 1 to n e(i, j) = 0 for k = 1 to n e(i, j) = e(i, j) + a(i, k) * t(k, j) next k next j next i for i = 1 to n for j = 1 to n cells(5 + n * 3 + i, j).value = c(i, j) next j next i cells(6 + n * 4, 1).value = "b=c*2" for i = 1 to n for j = 1 to n b(i, j) = c(i, j) * 2 next j next i for i = 1 to n for j = 1 to n cells(6 + n * 4 + i, j).value = t(i, j) next j next i cells(7 + n * 5, 1).value = "d=b+c" for i = 1 to n for j = 1 to n d(i, j) = b(i, j) + c(i, j) next j next i for i = 1 to n for j = 1 to n cells(7 + n * 5 + i, j).value = d(i, j) next j next i end sub
Ответы на вопрос:
program sorting;
const
n = 10;
var
v: array[1..n] of integer;
d: integer;
i, t: integer;
k: boolean;
begin
randomize;
write('до сортировки: ');
for i : = 1 to n do
begin
readln(v[i])
write(v[i]: 6);
end;
}
d : = n div 2;
while(d > 0) do
begin
k : = true;
while k do
begin
k : = false;
i : = 1;
for i : = 1 to n - d do
begin
if(v[i] > v[i + d]) then
begin
t : = v[i];
v[i] : = v[i + d];
v[i + d] : = t;
k : = true;
end;
end;
end;
d : = d div 2;
end;
writeln;
write('после сортировки: ');
for i : = 1 to n do
write(v[i]: 6);
writeln;
end.
Популярно: Информатика
-
565620008.06.2022 20:01
-
bbayy16.03.2023 12:40
-
konoplya8818.11.2020 00:34
-
antipingv200412.09.2020 18:25
-
Селена24на704.06.2023 07:43
-
larisa11406.09.2022 13:24
-
ФёдорХоменко19.08.2022 06:43
-
юля276119.01.2022 23:02
-
abdrazakovernat11.05.2022 03:04
-
marinedzhan00003.01.2022 11:27