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

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

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

 
 Ответить  Открыть новую тему 
> процедура, проверяющая возрастание
18192123
сообщение 19.11.2006 18:19
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

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


мне нужно проверить, все ли строки в матрице упорядочены по возрастанию

похоже, я не учла какое-то условие
объясните пожалуйста, какого условия не хватает


program vozr;
uses crt;
const n=3;
type matr=array[1..n,1..n]of integer;
procedure input(var a:matr);
var i,j:1..n;
begin
writeln ('vvedite elementi');
for i:=1 to n do
for j:=1 to n do read (a[i,j]);
end;
procedure check(var a:matr);
var i,j:1..n;
f,check:boolean;
begin
f:=true;
i:=1;
while (i<=n)and(f=true) do
begin
j:=1;
while (j<n)and(a[i,j]<=a[i,j+1]) do
j:=j+1;
end;
check:=f;
writeln (check);
end;
VAR a:matr;
BEGIN
clrscr;
input(a);
check(a);
readkey;
end.





 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.11.2006 18:25
Сообщение #2


Гость






Смотри, что ты делаешь:

{ идешь по строке, начиная с первого элемента }
j := 1;
{ пока не конец строки и следующий эл-т НЕ меньше предыдущего }
while (j<n) and (a[i,j]<=a[i,j+1]) do
{ увеличивать индекс }
j:=j+1;

{
а вот тут надо проверить, на каком месте цикл закончился.
Если j = n, то значит, сработал контроль выхода за предел строки,
а сама строка является НЕубывающей, иначе - строка НЕ является
неубывающей (в ней был элемент, нарушивший отношение <= )
}
check := (j = n); { <--- Это ты забыла }
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 23.06.2025 19:58
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"