Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2013, 19:33   #1
Alex@ndr
Новичок
Джуниор
 
Регистрация: 11.01.2013
Сообщений: 2
По умолчанию Задача на матрицы

Задача такая:
Задана матрица A(MxN). Определить, какой из элементов наиболее и наименее удален от некоторого числа А.
Нужно составить блок схему алгоритма программы решающей эту задачу. Из паскаля знаю только как ввести размер этой матрицы и ее элементы, больше ничего.
Знаю тут не принято давать готовые решения и делать за другого работу, но хоть подскажите откуда вычитать похожее задание или хоть базовый алгоритм решения. Предмет всего один месяц и не профильный, мне его бы только сдать и забыть. Раз и навсегда как страшный сон
Alex@ndr вне форума Ответить с цитированием
Старый 11.01.2013, 20:10   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Из паскаля знаю только как ввести размер этой матрицы и ее элементы
Этого хватит.
Осталось вписать условие типа
Код:
if abs(a[i,j]-некоеА)>a[maxi,maxj] then begin maxi:=i;maxj:=j;end;
Для нахождения координат самого удаленного. И наподобие такого условие для самого близкого, и вывести их (a[maxi,maxj] и второе) на экране.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.01.2013, 20:49   #3
Alex@ndr
Новичок
Джуниор
 
Регистрация: 11.01.2013
Сообщений: 2
По умолчанию

Откуда взять переменные maxi и maxj с которыми идет сравнение?
Что тут делать?

Код:
program Mas;

Var
  
 arr:array[1..10,1..10]of real;
 a,i,j,M,N: integer

begin

  Write('A='); Readln(A);
  Write('M='); Read(M);
  Write('N=');Read(N);

  for i := 1 to M do

  begin

    for j := 1 to N do

     begin

       Write('arr(',i,',',j,')=');
       Readln (arr[i,j]);

    end;

  end;

if abs(a[i,j]-A) > a[maxi,maxj] then
  
  begin
      
      maxi:=i;
      maxj:=j;

  end;

else

  begin

  end;

end;
Alex@ndr вне форума Ответить с цитированием
Старый 11.01.2013, 22:36   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Откуда взять переменные maxi и maxj с которыми идет сравнение?
Самостоятельно их описать )
Цитата:
Что тут делать?
Это условие должно быть внутри циклов, а не снаружи. else ветка не нужна совсем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на матрицы. С++ Alendorff Помощь студентам 9 25.03.2012 20:08
Задача матрицы Viktoria93 Помощь студентам 0 01.12.2011 15:59
Задача на матрицы Гамбит Паскаль, Turbo Pascal, PascalABC.NET 20 19.10.2009 21:22
Задача на матрицы в C++ saleens7 Помощь студентам 4 29.12.2008 02:20
Задача на матрицы щдуп Паскаль, Turbo Pascal, PascalABC.NET 3 26.06.2008 08:52