Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 04.08.2011, 21:27   #41 (permalink)
gotherson
Member
 
Регистрация: 01.08.2011
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

а то, то вы исправили - это вылет за границу массива. у меня нумерация с единицы [1..N], а командой "For i:= 0 to count do" вы пытаетесь обратиться к нулевому элементу массива.
gotherson вне форума   Ответить с цитированием
Старый 04.08.2011, 23:06   #42 (permalink)
Yug7
Member
 
Регистрация: 26.07.2011
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

А если с 1 начинать , а не с 0 - совсем другой алгоритм реализуется
Обязательно надо, чтобы а начиналась с 0, а b начиналась с 1.

Последний раз редактировалось Yug7; 04.08.2011 в 23:14
Yug7 вне форума   Ответить с цитированием
Старый 04.08.2011, 23:07   #43 (permalink)
Yug7
Member
 
Регистрация: 26.07.2011
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

А как это лучше откорректировать,чем я сделал ?
Yug7 вне форума   Ответить с цитированием
Старый 04.08.2011, 23:24   #44 (permalink)
gotherson
Member
 
Регистрация: 01.08.2011
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

в моём коде они так и начинаются. но если очень хочется, можно поменять нумерацию массива на, например, [0..N-1], тогда будет работать команда "For i:= 0 to count do", но в моём варианте реализации нет разницы.
gotherson вне форума   Ответить с цитированием
Старый 04.08.2011, 23:29   #45 (permalink)
gotherson
Member
 
Регистрация: 01.08.2011
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

а Вы посмотрели мой исправленный код на предидущей странице? выходной файл Вас не устраивает?

P.S. никак не пойму, как отредактировать сообщение, приходится новое писать...
gotherson вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 05.08.2011, 00:18   #46 (permalink)
Yug7
Member
 
Регистрация: 26.07.2011
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Иду смотреть, честно не заметил. Склероз,не иначе.
Yug7 вне форума   Ответить с цитированием
Старый 05.08.2011, 00:20   #47 (permalink)
Yug7
Member
 
Регистрация: 26.07.2011
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Смотел, рад до некуда, все отлично. Сейчас набираю еще кое-что. Если не трудно, зайдите еще раз.
Yug7 вне форума   Ответить с цитированием
Старый 05.08.2011, 00:34   #48 (permalink)
gotherson
Member
 
Регистрация: 01.08.2011
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

рад, что смог Вам помочь) простите, куда нужно зайти?
gotherson вне форума   Ответить с цитированием
Старый 05.08.2011, 00:50   #49 (permalink)
Yug7
Member
 
Регистрация: 26.07.2011
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

gotherson
Интересно : я когда-нибудь научусь вот так же легко,как вы программировать ? Есть вопрос :

1. Приостановка выполнения программы на время, определяемое пользователем
Простейшим решением данной задачи является запись в соответствующем месте процедуры Readln (оператор Read использовать нельзя) или функции ReadKey.
Пример использования процедуры Readln.
PROGRAM DemoReadln;
USES Crt;
BEGIN
ClrScr;
Writeln ('Выполнение программы приостановлено.');
Writeln;
Write ('Для продолжения нажмите клавишу Enter ....');
Readln;
Writeln;
Write ('Выполнение программы продолжается. Ждите 5 секунд. ');
Delay (5000);
END.
Для продолжения выполнения программы достаточно нажать клавишу Enter. Недостатком данного решения является обязательное нажатие клавиши Enter, а не любой клавиши, что увеличивает вероятность ошибочного действия пользователя и в ряде случаев приводит к непредсказуемым результатам.

Если в Вашем коде убрать ограничения по N=1000. А вставить вместо- вышесказанное. Так можно сделать ? И в каком месте Вашего кода лучше сделать вставку ?
Yug7 вне форума   Ответить с цитированием
Старый 05.08.2011, 00:55   #50 (permalink)
Yug7
Member
 
Регистрация: 26.07.2011
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Или здесь что-то не так ? Я это не сам программировал. Нашел готовое решение. Это будет работать ?
И еще я не совсем понял,как реализуется начало приостановки ? Как ввести с клавиатуры : " Приостановка выполнения программы " ?
Enter - это понятно.
Yug7 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 05:00.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.