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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2011, 15:54   #1
(=Настя=)
Новичок
Джуниор
 
Регистрация: 11.09.2011
Сообщений: 1
По умолчанию В действительной матрице А(n,n).определить в каждой строке число локальных максимумов (Delphi)

Люди добрые помогите.зачет.нужен текст программы через файл...я полная ноль в этом...даны натуральное число n,действительная матрица А(n,n).определить в каждой строке число локальных максимумов(больше предыдущ и послед чисел ai-1,j (ai,j) ai+1,).j


______________
Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В последующем, темы с подобным названием будут закрываться или удаляться,
а автор такой темы будет получать штрафные баллы.
Учтите это на будущее.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.09.2011 в 20:33.
(=Настя=) вне форума Ответить с цитированием
Старый 13.09.2011, 16:24   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от (=Настя=) Посмотреть сообщение
Люди добрые помогите.зачет.нужен текст программы через файл...я полная ноль в этом...даны натуральное число n,действительная матрица А(n,n).определить в каждой строке число локальных максимумов(больше предыдущ и послед чисел ai-1,j (ai,j) ai+1,).j
Привет! Сейчас что-нибудь попробуем.

Код:
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  i,j,raz,temp:Integer;
  colMax:array[0..9] of Integer;
  Arr:array[0..9,0..9] of Integer;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  temp:=0;
  write('Vvedite razmernost matrix = ');
  read(raz);
  Writeln;
  writeln('Vvedite matrix[',raz,',',raz,']:');
  for i:=1 to raz do
    for j:=1 to raz do
      read(arr[i,j]);
  writeln;
  for i:=1 to raz do
  begin
    for j:=2 to raz do
    begin
      if Arr[i,j]>Arr[i,j-1] then
      begin
        inc(temp)
      end
      else
      begin
        if temp<>0 then
        begin
          colmax[i]:=temp;
          temp:=0;
        end;
      end;
      if j=raz then
      begin
        if temp>colMax[i] then
          colMax[i]:=temp;
        temp:=0;
      end;
    end;
    Writeln('Kolichestvo lokalnyh maximumov v ',i, ' stroke = ', colmax[i]);
  end;
  readln;
  Readln;
end.
Вот так примерно, проверь! Вчера не успел, интернета не было.
Помог - жми на весы!
ByAlex89@mail.ru

Последний раз редактировалось Stilet; 14.09.2011 в 21:44.
ByAlex вне форума Ответить с цитированием
Старый 14.09.2011, 14:14   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

3-й раз за 2 дня эту задачу вижу. Никак не пойму почему в условии сказано a[i-1,j]<a[i,j]>a[i+1,j], а не j-1 и j+1?
Цитата:
Вот так примерно, проверь!
Либо я не понимаю задание, либо таки неправильно считает. В строке 55 66 778 54 3 говорит, что 2 лок. максимума. Я считаю, что один — 778. Судя по условию if arr[i,j]>arr[i,j-1] вы смотрите только на предыдущий элемент.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.09.2011 в 14:26.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2011, 14:21   #4
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Изначально, видимо, задача была про столбец.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 14.09.2011, 20:34   #5
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
3-й раз за 2 дня эту задачу вижу. Никак не пойму почему в условии сказано a[i-1,j]<a[i,j]>a[i+1,j], а не j-1 и j+1?

Либо я не понимаю задание, либо таки неправильно считает. В строке 55 66 778 54 3 говорит, что 2 лок. максимума. Я считаю, что один — 778. Судя по условию if arr[i,j]>arr[i,j-1] вы смотрите только на предыдущий элемент.
В строке 55 66 778 54 3 говорит, что 2 лок. максимума
Все правильно, 55 меньше 66, 66 меньше 778! Поэтому 2 локальных максимума. Мы же массив вводим.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 14.09.2011, 20:47   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну в задании просят в каждой строке найти локальный максимумы и дано определение лок. максимума (видимо с ошибкой), которое, как я понимаю, следует читать так: элемент, который больше и предыдущего, и следующего элемента в своей строке.

крайние (55 и 3) как я понимаю вообще не следует считать? 66 больше 55, но меньше 778. 778 больше 66 и 54 — подходит. 54 меньше 778. Итого 1 лок.максимум. Что не так?)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2011, 21:38   #7
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
как я понимаю, следует читать так: элемент, который больше и предыдущего, и следующего элемента в своей строке.
Если так, то да, будет один! Просто там условие не понятное, я вот так понял по своему!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 14.09.2011, 22:16   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Alex11223
крайние (55 и 3) как я понимаю вообще не следует считать? 66 больше 55, но меньше 778. 778 больше 66 и 54 — подходит. 54 меньше 778. Итого 1 лок.максимум.
Alex11223, +1.
я не гуглил по определению "локального максимума", но если в пост #1 написано правильно, то я согласен с Вашим выводом.

p.s. очевидно, что локальных максимумов в общем случае может и не быть!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан файл вещественных чисел. Создать файл целых чисел, содержащий номера всех локальных максимумов в порядке возрастания zzz6 Помощь студентам 1 04.07.2011 12:59
В действительной матрице n*n поменять местами строку с MAX со строкой содержащей MIN элемент drnokaut Помощь студентам 1 06.06.2011 08:53
Создать функцию вычисляющую общее количество локальных максимумов leha1993 Паскаль, Turbo Pascal, PascalABC.NET 2 23.05.2011 14:23
В матрице в каждой строке найти сумму N Элементов расположенных после максимального элемента этой строки lexflax Паскаль, Turbo Pascal, PascalABC.NET 0 20.04.2011 14:41
В данной действительной квадратной матрице perojenko Помощь студентам 6 23.06.2009 20:59