![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
nSk |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: Andrej Репутация: ![]() ![]() ![]() |
Можете помочь .
Как написать программу которой вводишь дату , и она проверяет её правельность, тоесть если ей ввел 32 декабря она скажет что такого не бывает или там 30 февраля . формат дату такой ДЕНЬ.Месяц.Год например [ 02.12.2005 ] |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
nSk, вот программа, которая принимает 3 числа (через пробел, DD MM YYYY) и выдает корректность введенной даты...
const
days: array[1 .. 12] of byte =
(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var
D, M, Y: Integer;
begin
write('DD/MM/YYYY'); readln(D, M, Y);
if ((Y mod 4) = 0) and
not (((Y mod 100) = 0) and ((Y mod 400) <> 0)) then inc(days[2]);
if
(M >= 1) and (M <= 12) and
(D >= 1) and (D <= days[ M ])
then
writeln('correct') else writeln('not correct');
end.
|
nSk |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: Andrej Репутация: ![]() ![]() ![]() |
спасибо
![]() |
nSk |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: Andrej Репутация: ![]() ![]() ![]() |
а можешь объеснить строчки
Код if ((Y mod 4) = 0) and not (((Y mod 100) = 0) and ((Y mod 400) <> 0)) then inc(days[2]); и еще хотел спросить, где можно найти статьи о Array чтоб написано доступним и понятным языком (всмысле для начинающих). |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
В тех строчках проверяется високосный ли введенный год, или нет... И если високосный, то число дней в феврале (второй месяц) увеличивается на 1...
Цитата где можно найти статьи о Array У нас в FAQ-е: FAQ: Массивы |
kamnev |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот типо того:
const masiv=100;
BM:array[1..13] of integer =(0,31,59,90,120,151,181,212,243,273,304,334,365);
var
P,I1,I2 :integer;
begin
repeat
repeat
writeln('Введите дату :');
readln (Dt[i]);
val(copy(Dt[i],1,2),I1,l);
val(copy(Dt[i],4,2),I2,l);
If copy(Dt[i],3,1)<>'.' then writeln('Дата должна бать в формате дд.мм');
if I2>12 then writeln('Месяц не может быть больше 12');
until I2<=12;
If BM[I2+1]-I1<BM[I2] then writeln('День не соответствут числу дней в заданном месяце');
until (copy(Dt[i],3,1)='.') and (BM[I2+1]-I1>=BM[I2]);
P=I1+BM[I2];
|
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
kamnev В следующий раз смотри пожалуйста на дату создания темы ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 18.04.2025 14:52 |