М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
lilianchic14
lilianchic14
21.05.2021 16:39 •  Информатика

Составить программу для ввода в ЭВМ произвольной цело-численной матрицы размером M*N и определения координат и значения наименьшего по модулю элемента этой матрицы.

👇
Ответ:
Hdzf2002
Hdzf2002
21.05.2021

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

-

Объяснение:

нажмите лучших ответ и лайк

4,5(98 оценок)
Открыть все ответы
Ответ:
itpediaigor
itpediaigor
21.05.2021
Чтобы не загромождать программу, предполагаем без поверки, что 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.

Тестовое решение:
Введите начальное значение, шаг табуляции, конечное значение
0 0.33 3.3
x=0, y=0
x=0.33, y=0.66
x=0.66, y=1.32
x=0.99, y=1.98
x=1.32, y=2.64
x=1.65, y=3.3
x=1.98, y=3.96
x=2.31, y=4.62
x=2.64, y=5.28
x=2.97, y=5.94
x=3.3, y=6.6

Сомневающиеся в пользе "довеска" dx/2 в последней формуле, могут попробовать выполнить этот же контрольный пример, изменив предпоследнюю строку на более привычное until x>x2. И убедиться, что решение для х=3.3 пропадет.
4,7(99 оценок)
Ответ:
rotsib
rotsib
21.05.2021
Давайте сделаем так:
Опишем 4 функции в программе. Когда надо - вытащим нужную...  ОК?

uses Crt;
var x1, x2 , dx, y: real;
    i: integer;
function f1 (x:real):real;
 begin
   f1:=2*x;
end;

function f2 (x: real):real;
 begin
   f2:=x/3+9;
 end;

function f3 (x:real):real;
begin
  f3:=x-4;
end;

function f4 (x: real):real;
begin
  f4:=x/8-6;
end;

begin
ClrScr;
Write(' x1 = '); ReadLn(x1);
Write(' x2 = '); ReadLn(x2);
Write (' dx = '); ReadLn(dx);
i:=1;
repeat
   WriteLn(f1(i):6:3);
   i:=i+1;
until i>x2;
ReadLn;
end.

Например, задавая х1= -10
                               х2= 10
                               dx = 1  получаем значения для первой функции

Записав WriteLn (f3(i):6:3); - получаем значения для третьей функции и так далее
4,7(8 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ