задача на delphi

программирование программы Delphi делфи

Задана матрица размером NxM. Определить k - количество "особых" элементов матрицы, считая элемент “особым”, если в его строке слева от него находятся элементы меньшие его, а справа – большие.

помогите пожалуйста. только не один элемент справа или слева, а все элементы проверять надо..

Примечание:
ясно, что циклы, но блин нифига не получается!
Ответы:
Раз все значит цикл
Сначала найди цифры которые  в строке матрицы больше за предыдущую начиная с второй n:=2. Проверка на прирост. И дальше в тех случаях если (if ... then... ) прирост наблюдается и дальше(проверка цифры с индексом k:=n+1), то это особенная цифра. Индекса которой кидаются в какую нибудь матрицу.
Потренируйся на однострочной матрице чтоб не путаться с индексами,  а далее когда овладеешь логикой идеи организуй для матрицы.
примерно так:
var
 k, i, j: Integer;
 m, n: Integer;
 a: array of array of Integer;
 function isSpecial(i, j: Integer): Boolean;
 var
   s: Integer;
 begin
   Result := True;
   s := j;
   while j > 0 do
   begin
     if a[i, j - 1] >= a[i, j] then
     begin
       Result := False;
       Exit;
     end;
     Dec(j);
   end;
   j := s;
   while j < m-1 do
   begin
     if a[i, j + 1] <= a[i, j] then
     begin
       Result := False;
       Exit;
     end;
     Inc(j);
   end;
 end;
begin
 //заполнение данных
 randomize;
 n := 4;
 m := 3;
 SetLength(a, n);
 for i := 0 to n - 1 do
 begin
   SetLength(a[i], m);
   for j := 0 to m - 1 do
     a[i, j] := random(5);
 end;
 //поиск особых
 k := 0;
 for i := 0 to n - 1 do
   for j := 1 to m - 2 do
     if isSpecial(i, j) then
       Inc(k);
 //вывод k сами
end;


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.