На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение
постоянный участник




Сообщение: 18
ссылка на сообщение  Отправлено: 21.03.12 14:11. Заголовок: [C4] задача 30


В решении этой задачи 2 ошибки.
1. После прочтения номера ячейки в строке остается пробел+дата, либо пробел надо удалять, либо в функции dayFromStart писать
Val(Copy(s,2,2), d, i);
Val(Copy(s,5,2), m, i);
2. В выводе надо печатать до count
и на мой взгляд массив dm проще объявить как
const dm : array[1..12]of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
хотя так, как у вас сделано тоже нормально.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 9 [только новые]


Администратор




Сообщение: 193
ссылка на сообщение  Отправлено: 21.03.12 15:52. Заголовок: oval пишет: Val(Copy..


oval пишет:
 цитата:
Val(Copy(s,2,2), d, i);
Val(Copy(s,5,2), m, i);

Нет. В какой среде у вас не сработало? Я только что проверил в Pascal ABC - все нормально.
 цитата:
2. В выводе надо печатать до count

Да, это опечатка, поправлю.
 цитата:
массив dm проще объявить как
const dm : array[1..12]of integer=(31,28,31,30,31,30,31,31,30,31,30,31);

Это не везде сработает, хотя, конечно, более красиво.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 21
ссылка на сообщение  Отправлено: 21.03.12 20:05. Заголовок: Поляков пишет: В ка..


Поляков пишет:

 цитата:
В какой среде у вас не сработало? Я только что проверил в Pascal ABC - все нормально.


В ABC и не сработало, скорей всего проблема в том, что использовалось чтение из файла.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 198
ссылка на сообщение  Отправлено: 21.03.12 20:59. Заголовок: oval пишет: В ABC и ..


oval пишет:
 цитата:
В ABC и не сработало,

Спасибо, понял. Это особенность именно Паскаля ABC и именно при работе с консолью. Переделал так, чтобы работало везде - строка разбирается вручную (Pos, Val, Delete).

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 22
ссылка на сообщение  Отправлено: 21.03.12 21:26. Заголовок: Поляков пишет: ма..


Поляков пишет:

 цитата:

const dm : array[1..12]of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
Это не везде сработает, хотя, конечно, более красиво.


Не проверяла в Lazars и Delphi, а в FPC2.4.4 BP7.0 TP7.1 и ABC это работает, хотя, конечно, в описании Паскаля Виртом типизированных констант нет

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 200
ссылка на сообщение  Отправлено: 21.03.12 21:51. Заголовок: oval пишет: в FPC2...


oval пишет:
 цитата:
в FPC2.4.4 BP7.0 TP7.1 и ABC это работает

В АЛГО не работает.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 25
ссылка на сообщение  Отправлено: 25.03.12 20:04. Заголовок: день (ровно две цифр..



 цитата:
день (ровно две цифры, от 01 до 31), затем через точку – месяц (ровно две цифры, от 01 до 12)



Если формат даты задается через точку, то можно день и месяц получить так:
 цитата:
var r:real;
d,m:integer;
begin
readln(r);
d:=trunc(r);
m:=round((r-d)*100);
...............
end.



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 217
ссылка на сообщение  Отправлено: 25.03.12 20:07. Заголовок: oval пишет: можно де..


oval пишет:
 цитата:
можно день и месяц получить так:

Нехорошо сюда еще и real примешивать.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 26
ссылка на сообщение  Отправлено: 26.03.12 09:14. Заголовок: почему примешивать ч..


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

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 218
ссылка на сообщение  Отправлено: 26.03.12 12:16. Заголовок: oval пишет: веществе..


oval пишет:
 цитата:
вещественное переводим день и месяц

Это нехороший подход. Чтобы прочитать данные одного типа, мы читаем данные другого типа, а потом их преобразовываем. Не говоря уже о том, что real в большинстве случаев хранится в памяти с ошибкой. Правда, эту проблему здесь решает round, но все равно это очень некрасиво. "Грязный хак".

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 707
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет