1) Дана квадратная матрица. Вычислить скалярное произведение строки с наименьшим элементом на столбец с наибольшим элементом.
Написал программу, но что то не получается в ней - всегда выдаёт нулевое произведение.
var
n,i,j,min,max,nst,nsb,skp:integer;
mat:array[1..50,1..50] of integer;
ar1,ar2:array[1..50] of integer;
begin
writeln('Введите размер квадратной матрицы');
readln(n);
writeln('Введите элементы матрицы');
for i:=1 to n do
begin
for j:=1 to n do
begin
readln(mat[i,j]);
end;
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
if mat[i,j]<mat[i+1,j] then min:=mat[i,j];
ar1[i]:=min;
end;
end;
for j:=1 to n do
begin
for i:=1 to n do
begin
if mat[i,j+1]>mat[i,j] then max:=mat[i,j+1];
ar2[i]:=max;
end;
end;
for i:=1 to n-1 do
if ar1[i]>ar1[i+1] then
nst:=i+1;
for j:=1 to n-1 do
if ar2[j]<ar2[j+1] then
nsb:=j+1;
for j:=1 to n do
ar1[j]:=mat[nst,j];
for i:=1 to n do
ar2[i]:=mat[i,nsb];
skp:=0;
for i:=1 to n do
skp:=skp+ar1[i]*ar2[j];
writeln('Произведение равно ',skp);
readln;
end.
2) Написать программу для перевода чисел из системы счисления с любым основанием в десятичную систему.
Формула простая: N[b2] = a[q-1]*b[1]^(q-1) + a[q-2]*b[1]^(q-2) + ... + a[1]*b[1]^1 + a[0]*b[1]^0
Например:
(571.31)[8] = (?)[10]
(571.31)[8] = 5*8^2 + 7*8^1 + 1*8^0 + 3*8^(-1) + 1*8^(-2) = (377.390625)[10]
Решение, по моему мнению, должно выглядеть так:
1) Запрос основания системы
2) Запрос числа
3) Вычисление
4) Вывод результата
Но решить задачу никак не получается. Помогите, пожалуйста.
Сообщение отредактировано: False -