IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> процедуры и функции.Упорядоченная пос-ть при переборе змейкой.
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 49
Пол: Мужской

Репутация: -  0  +


условие: для заданной вещественной матрицы определить, образуют ли её элементы упорядоченную последовательность при их переборе змейкой (начиная с 1 строки двигаясь по часовой стрелки).Для определения факта упорядоченности части строки(столбца) используйте функцию.

вот скудные наброски-->

Код
const n=10;
                 m=10;  
         type  Temem=real;
               Tvector=array [1..n,1..m] of Telem;  
var  a: Tvector;  
     i,j: integer;  
left,right: integer;  
      flag:boolean;  
begin  
i:=left;  
result:=true;  
  while (i<right) and result do
    for i:=j+1 to n do  
      if not flag (a[j+1,i],a[j+1,i+1]) then  
         not flag for ...;  
     ...


-идея в том, что бы проверять упорядоченность с левой части строк до правой, тоже самое со столбцами.Подскажите пожалуйста как правильно написать циклы для проверки нижней строки и левого столбца.Их же надо в обратном порядке считать как бы.И дальше, когда проверили 1 круг, при следуующей строке надо изменить в цикле только до n-1, потом до n-2 и т..д.?
P.S. если не сложно, то можно ответы давать в развёрнутом виде? У меня совсем нету опыта по написанию программ.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
не могли бы пояснить что означают:
Ладно, поехали...

Цитата
function is_sorted(const arr: mx): boolean;
Это функция. которая получает на вход матрицу и возвращает признак ее упорядоченности при обходе по спирали. То есть, именно эта функция и решает поставленную задачу.

Цитата
 function f(i, j: shortint): boolean;
Здесь мы проверяем по-первых, не выйдем ли при значениях индексов i, j за границы массива (обрати внимание, я сначала проверяю очередную ячейку вызовом F, и только потом, если F вернула Истину, то есть, эта ячейка в матрице существует и еще не была заполнена, ее заполняю). И если не выйдем - то проверяем, не заполнен ли уже тот элемент, который мы хотим заполнить... Мы T[i, j] ничего не присваиваем, только сравниваем (":=" и "=" это очень разные вещи)...

Цитата
и что подразумевается под X ?
Х - просто переменная. Дело в том, что я заполняю временную матрицу по порядку, значениями 1 .. SizeX*SizeY. Вот в этом интервале и изменяется X...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 18.06.2024 15:55
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name