![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Konsuela |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: ![]() ![]() ![]() |
Задание такое:
Составить подпрограмму для определения числа элементов одномерного массива, предшествующих его первому отрицательному элементу. Пишу программу, а после набора массива она зависает... может проблема в самой функции? function kol (A: mass; n: integer ):integer; |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
у тебя конструкция из циклов странная. она и зацикливается.
сначала должен отработать внутренний цикл, и только потом произойдет смена i. то есть на первом же положительном элементе цикл repeat превратится в вечный. смотри: если у тебя отрицательный на пятой позиции - можешь сказать, сколько перед ним положительных? а если на восьмой? то есть тебе достаточно найти его индекс - отдельно считать не нужно. убери цикл for, а в repeat работай с i а вообще - не забывай пользоваться тэгами. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Konsuela |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: ![]() ![]() ![]() |
begin
repeat z:=i; until A[i]<0; kol:=z; end; Вот так??? а у меня всё равно виснет.... я что-то недопонимаю видно... |
Bokul |
![]()
Сообщение
#4
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
-------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Гость |
![]()
Сообщение
#5
|
Гость ![]() |
или так
Код i:=1; while (i<=n) and (A[i]>=0) do inc(i); |
Konsuela |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: ![]() ![]() ![]() |
Я искренне благодарна за помощь, но я пока новичок и нам даже не давали программки с True и False...
Сообщение отредактировано: Konsuela - 1.12.2006 22:11 |
Bokul |
![]()
Сообщение
#7
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата Я искренне благодарна за помощь, но я пока новичок и нам даже не давали программки с True и False...
Цитата или так
А если отрицательных элементов в массиве не будет? -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Konsuela |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: ![]() ![]() ![]() |
или так Код i:=1; while (i<=n) and (A[i]>=0) do inc(i); Ой, спасибо большое! Заработало наконец-то. И последний (наверное глупый) вопрос- что значит inc(i)?
А если отрицательных элементов в массиве не будет? И ВАМ Спасибо огромное за отзывчивость ![]() |
Bokul |
![]()
Сообщение
#9
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата И последний (наверное глупый) вопрос- что значит inc(i)? Глупых вопросов не бывает, но зато бывает лень заглянуть в справку. Набери в Паскале inc, выдели его и нажми Ctrl+F1. Ой, спасибо большое! Заработало наконец-то. Выделенной код (не мой) не обрабатывает всех ситуаций... Сообщение отредактировано: Bokul - 1.12.2006 22:23 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Konsuela |
![]()
Сообщение
#10
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: ![]() ![]() ![]() |
Глупых вопросов не бывает, но зато бывает лень заглянуть в справку. Набери в Паскале inc, выдели его и нажми Ctrl+F1. Ой, спасибо большое! Заработало наконец-то. Выделенной код (не мой) не обрабатывает всех ситуаций... Это приняла во внимание... А всё-таки вот эта inc(i)- перебирает мой массив? |
Bokul |
![]()
Сообщение
#11
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата А всё-таки вот эта inc(i)- перебирает мой массив? Это равнозначно i:=i+1. Т.е. мы увеличиваем i на единицу. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 6:46 |