Pascal. Матрица M*N. Обнулить максимумы

Ответить
Ice Cold
Сообщения: 1
Зарегистрирован: 22 дек 2008, 17:20

Немного не в тему...
Ребят, помогите пожалуйста составить программу в Паскале! Очень нужно!

Дана действительная матрица размером n*m. Все элементы с наибольшим значением заменить нулями (таких элементов может быть несколько).

Плиииз!
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Перенес в отдельную тему, исправил название.

По зпдаче..

Код: Выделить всё

var
  A:array[1..n,1..m] of real;
  i,j:integer;
  Max:real;
begin
   {тут надо заполнить случайными числами или с клавиатуры 
     (посмотрите в других задачах как это делается)}

   {тут надо надо добавить вывод матрицы на экран 
     (посмотрите в других задачах как это делается)}


   {поиск максимума}
   Max:=A[1,1];
   for i:=1 to n do for j:=1 to m do if Max<A[i,j] then Max:=A[i,j];

   {теперь замена}
   for i:=1 to n do for j:=1 to m do if Abs(A[i,j]-Max)<0.0000001 then A[i,j]:=0;

   {тут надо надо добавить вывод матрицы на экран 
     (посмотрите в других задачах как это делается)}

end;


PS
Сравнение действительных чисел нельзя выполнять как IF A=B..., а можно только сравнивать их разность с погрешностью. Т.е., например, IF ABS(A-B)<0.0000001....
Ответить