Составить программу для ввода в ЭВМ произвольной цело-численной матрицы размером M*N и определения координат и значения наименьшего по модулю элемента этой матрицы.
Чтобы не загромождать программу, предполагаем без поверки, что x2>x1 и dx>0. Либо, x2<x1 и dx<0. В любых иных вариантах программа зациклится.
В приведенной программе описана функция для подвопроса а); прочие варианты закомментированы. Для получения других вариантов достаточно закомментировать строку y:=2*x; и снять комментарий с нужной строки.
function f(x:real):real; begin f:=2*x; { f:=x/3+9; f:=x-4; f:=x/8-6; } end;
var x,x1,x2,dx,y:real; begin Writeln('Введите начальное значение, шаг табуляции, конечное значение'); Read(x1,dx,x2); x:=x1; repeat y:=f(x); Writeln('x=',x,', y=',y); x:=x+dx until x>x2+dx/2 { +dx/2 - это защита от накопления погрешности } end.
Сомневающиеся в пользе "довеска" dx/2 в последней формуле, могут попробовать выполнить этот же контрольный пример, изменив предпоследнюю строку на более привычное until x>x2. И убедиться, что решение для х=3.3 пропадет.
m, n, i, j: integer;
s: real;
a: array[,] of real;
write('Введите S: ');
read(s);
write('Введите M, N: ');
read(m, n);
setlength(a, m + 1, n + 1);
writeln('Введите элементы матрицы: ');
for i := 1 to m do
for j := 1 to n do
read(a[i, j]);
for i := 1 to m do
begin
for j := 1 to n do
if a[i, j] <> s then
begin
writeln(a[i, j]);
break;
end;
if a[i, j] = s then
writeln('-');
end;
end.
Пример:
Введите S: 7
Введите M, N: 3 4
Введите элементы матрицы:
7 4 3 7
3 5 1 4
7 7 7 7
4
3
-
Объяснение:
нажмите лучших ответ и лайк