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


Гость






Цитата
почему сразу не сравнивать выходят ли i,j за границы массива нового?
То есть, 4 раза подряд писать такие условия? Дело, конечно, твое, но я бы такую программу не принял... Если есть повторяющиеся участки кода - они должны быть вынесены в функцию...

Цитата
т.е. если за границы не выходим то заполняю пустую ячейку матрицы?
Ты читать умеешь? Я тебе русским языком сказал, что НЕ ЗАПОЛНЯЕТСЯ там ничего. ПРОВЕРЯЕТСЯ - да, но присвоения там нет. Хорошо, зайдем с другой стороны: приведи код, который проверяет, равняется ли значение переменной А единице.
Цитата
почему -1??
Потому что мне так захотелось. Захочу - поставлю (-1), захочу Low(Integer) поставлю. В самом начале я всю временную матрицу чем заполнил? Вот поэтому и смотрю, было ли занесено значение в ячейку, или там хранится то, чем матрица инициализировалась. Повторяю еще раз: уясни для себя разницу между присваиванием и сравнением.

Цитата
вот здесь не очень понятно, у нас получается (0,1,1) , (1,2,1) , (2,1,1) или (1,0,1) ?
Я не знаю, что у вас получается, у меня получается, что если функция F выдала Истину, значит, ячейку с теми координатами, которые в F передавались, можно заполнять очередным значением X. Что и делается в функции get_val. Которую ты, почему-то, вообще выкинул.

И на будущее - давай без самоуправства? Если я описал T и i, j ВЫШЕ функции f(), а все остальные переменные - НИЖЕ - значит, для этого были причины. Твой код не будет компилироваться, на всякий случай. А успешная компиляция - это один из признаков правильно написанной программы.

Зачем описание матрицы перенес выше функции? Кто просил тебя? "Меньше знаешь - лучше спишь" - слышал? Вот компилятора это тоже касается. чем меньше он знает - тем меньше вероятности ошибиться. Если он при компиляции функции не будет знать, что у тебя есть матрица Arr - ничего плохого не случится. Тем более, что описана эта матрица опять же неправильно. В следующий раз (когда что-то соберешься менять и изменишь) будь добр нажать на F9 и посмотреть, не навредили ли твои действия программе.

"Ни одно доброе дело не остается безнаказанным" (С) - это как раз этот случай. Вот и помогай после этого... Твой же код так изуродуют, что сам с трудом узнаешь. dry.gif
 К началу страницы 
+ Ответить 

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


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

 





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