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

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

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

 
 Ответить  Открыть новую тему 
> задача по массивам
сообщение
Сообщение #1





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

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


здраствуйте у меня тут загвоздка такая,относительно задания по Урокам от Дмитриева Эдуарда.он попросил распечатать етот массив по возростанию.я уже смотрел сюда http://forum.pascal.net.ru/index.php?showtopic=3065 однако остановился в чтение и решил всетаки добить то что у меня получилось,а получилось вот что

program reconstruction;
var
n,i,j,a : byte;
mas : array [1..10] of byte;
begin
randomize;
for i := 1 to 3 do
mas[i] := random(50);
for j := 1 to 10 do
begin
n := n+1;
for i := n to 10 do
begin

if mas[j] >= mas[i] then a := mas[i];
mas[i] := mas[j];
mas[j] := a;
end;
inc(n);
writeln(j,': ',mas[j]);
end;
readln;
end.


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

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


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

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


program reconstruction;
var
n,i,j,a : byte;
mas : array [1..10] of byte;
begin
randomize;
for i := 1 to 10 do {до 10, а не до 3}
mas[i] := random(50);

n:=0;{обнуляем n}
for j:= 1 to 10 do
begin
inc(n);{тоже самое что й n:=n+1}
for i := n to 10 do
begin
if mas[j] >= mas[i] then
begin {без begin будет выполнятся только первой оператор}
a := mas[i];
mas[i] := mas[j];
mas[j] := a;
end;
end;
{inc(n);}{для чего 2 раза увеличивать n, удали эту строку}
writeln(j,': ',mas[j]);
end;
readln;
end.

Только для чего ты вводил переменную n , ее роль может выполнять j

Сообщение отредактировано: volvo -


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

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

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


Цитата
и вот вроде я проделываю на бумажке все вроде работает,а в паскале нет

Попробуй пользоваться для слежения за текущим состоянием переменных окошком "Watch" - помогает! Если ты, конечно, о нем не знал. smile.gif


--------------------
go ask Alice
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

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


Цитата
Попробуй пользоваться для слежения за текущим состоянием переменных окошком "Watch" - помогает! Если ты, конечно, о нем не знал.

А как ним пользоватся?


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
А как ним пользоваться?
Очень просто (см. аттач): Сначала выбираешь в меню то, что обведено красным - "Debug -> Watches", потом - "Window -> Tile" или "Window -> Cascade" (просто для того, чтоб одновременно видеть сам текст программы и окно Watches), и потом, для того, чтоб добавить какую-то переменную для слежения за ней - выделенный пункт меню в аттаче: "Debug -> Add Watch" или просто <Ctrl> + F7... Теперь при пошаговом прогоне программы (кнопками F7 - "Пошаговое выполнение", F8 - "Не заходить в подпрограммы" и F4 - "Выполнить до курсора") ты будешь видеть, чему равны значения добавленных в Watches переменных...

P.S. Кстати, отладочные средства IDE - очень мощная вещь, позволяющая тебе контролировать, кроме переменных, также и содержимое стека (Ctrl + F3), содержимое регистров процессора, не говоря уже об установке Брек-Пойнтов, позволяющих выполнять программу до тех пор, пока в заданной строке не выполнится нужное тебе условие, а потом перейти к пошаговому выполнению...

(Если надо - напишу в FAQ о возможностях отладки программ, с иллюстрациями smile.gif )


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Бывалый
***

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

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


Цитата(Bokul @ 11.06.2006 0:15) *

А как ним пользоватся?

набрал код. нажал контрф7, добавил переменную значение коорой нужно отследить в процессе выполнения и давай жать Ф7 пошагово и смотреть за значением переменной. А вообще насчет этого надо почитать поподробнее в книжке..
уф: Volvo меня опередил.

Сообщение отредактировано: Романтик -


--------------------
made in USSR.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

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


Спасибо volvo за объяснения good.gif
Классная вещь этот Watch good.gif , а я только сейчас про него узнал unsure.gif
Раньше, когда надо было узнать значения переменной, использовал writeln, а оказывается для этого есть специальный инструмент...
Цитата
Если надо - напишу в FAQ о возможностях отладки программ, с иллюстрациями

Было бы супер.


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





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

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


спасибо всем огромное...самое обидно
е то что у меня всегда проблемы во внимание.задумываешся на дамым тяжелым,а оказываетса все так наивно и просто.еше раз спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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