Другие языки программирования и технологии
Паскаль! Даны векторы: a={xn}, b={yn}, c={zn}, d={dn}. Построить матрицу К, сторонами которой являются упорядочены в
Даны векторы: a={xn}, b={yn}, c={zn}, d={dn}. Построить матрицу К, сторонами которой являются упорядочены в порядке возрастания элементы заданных векторов. Помогите в Паскале Плиз!!!!
const VSize = 10; OutMask = 8; OutFrac = 4;
type EType = Real;
VType = array [1..VSize] of EType;
var A, B, C, D : VType;
K : array [1..4] of VType;
procedure InputV(var V : VType; Msg, Letter : String);
var N : Byte;
begin
WriteLn(Msg);
for N := 1 to VSize do begin Write(Letter, '[', N, '] = '); ReadLn(V[N]); end;
end;
procedure Swap(var A, B : EType);
var Tmp : EType;
begin
Tmp := A; A := B; B := Tmp;
end;
procedure Reflect(Row : Byte; V : VType);
var Col, Col2 : Byte;
begin
for Col := 1 to VSize do K[Row, Col] := V[Col];
for Col := 1 to VSize-1 do for Col2 := Col+1 to VSize do
if K[Row, Col] > K[Row, Col2] then Swap(K[Row, Col], K[Row, Col2]);
end;
procedure OutK;
var Row, Col : Byte;
begin
WriteLn('Полученная матрица K:');
for Row := 1 to 4 do
begin for Col := 1 to VSize do Write(K[Row, Col]:OutMask:OutFrac); WriteLn; end;
end;
begin
InputV(A, 'Введите значения элементов вектора A:', 'A'); Reflect(1, A);
InputV(B, 'Введите значения элементов вектора B:', 'B'); Reflect(2, B);
InputV(C, 'Введите значения элементов вектора C:', 'C'); Reflect(3, C);
InputV(D, 'Введите значения элементов вектора D:', 'D'); Reflect(4, D);
OutK;
end.
type EType = Real;
VType = array [1..VSize] of EType;
var A, B, C, D : VType;
K : array [1..4] of VType;
procedure InputV(var V : VType; Msg, Letter : String);
var N : Byte;
begin
WriteLn(Msg);
for N := 1 to VSize do begin Write(Letter, '[', N, '] = '); ReadLn(V[N]); end;
end;
procedure Swap(var A, B : EType);
var Tmp : EType;
begin
Tmp := A; A := B; B := Tmp;
end;
procedure Reflect(Row : Byte; V : VType);
var Col, Col2 : Byte;
begin
for Col := 1 to VSize do K[Row, Col] := V[Col];
for Col := 1 to VSize-1 do for Col2 := Col+1 to VSize do
if K[Row, Col] > K[Row, Col2] then Swap(K[Row, Col], K[Row, Col2]);
end;
procedure OutK;
var Row, Col : Byte;
begin
WriteLn('Полученная матрица K:');
for Row := 1 to 4 do
begin for Col := 1 to VSize do Write(K[Row, Col]:OutMask:OutFrac); WriteLn; end;
end;
begin
InputV(A, 'Введите значения элементов вектора A:', 'A'); Reflect(1, A);
InputV(B, 'Введите значения элементов вектора B:', 'B'); Reflect(2, B);
InputV(C, 'Введите значения элементов вектора C:', 'C'); Reflect(3, C);
InputV(D, 'Введите значения элементов вектора D:', 'D'); Reflect(4, D);
OutK;
end.
Сторонами? Может строками? Как-то нелепо звучит )
Похожие вопросы
- Вопросик по Pascal. Есть переменные A,B,C,D. Как сделать так, чтобы при вводе A выводилось цифра 1, B - 2, C-3, D-4?
- Уравнение a*x+b*y=c
- Найти трехзначные числа a, b, c, все цифры которых различны и удовлетворяют уравнению a^2 – b^2 – c^2 = a – b – c.
- два четырёхзначных числа A,B. Вывести все четырёхзначные числа от а до б, запись которых является палиндромо
- Даны два массива A и B размера N, элементы которых упорядочены по убыванию. Объединить эти массивы так, чтобы результ
- 9. Даны натуральные числа A, B и C, обозначающие число, месяц и год. Проверить корректность этой даты. Выбрать оптимальн
- Pascal. Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые являются степенью двойки.
- Создать программу по турбопаскаль вывести ответ желтым цветом даны три A,B,C числа найти максимальное
- Помогите написать на ассемблере програму для вычисления виражения y=(c-(d/2)+33 )/(2*a*a-1). c=5,d=6,a=3.
- очень нужно, помогите пожалуйста. Приведите словесное описание алгоритма сложения двух обыкновенных дробей a/b и c/d