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

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

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

 
Closed Topic Открыть новую тему 
> Работа с датами
сообщение
Сообщение #1


Новичок
*

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

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


Можете помочь .
Как написать программу которой вводишь дату ,
и она проверяет её правельность,
тоесть если ей ввел 32 декабря она скажет что такого не бывает или там 30 февраля . формат дату такой ДЕНЬ.Месяц.Год например [ 02.12.2005 ]
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


спасибо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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


а можешь объеснить строчки
Код

if ((Y mod 4) = 0) and
not (((Y mod 100) = 0) and ((Y mod 400) <> 0)) then inc(days[2]);




и еще хотел спросить, где можно найти статьи о Array чтоб написано доступним и понятным языком (всмысле для начинающих).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






В тех строчках проверяется високосный ли введенный год, или нет... И если високосный, то число дней в феврале (второй месяц) увеличивается на 1...

Цитата
где можно найти статьи о Array

У нас в FAQ-е: FAQ: Массивы
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





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

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


Вот типо того:

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];
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

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

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


kamnev В следующий раз смотри пожалуйста на дату создания темы ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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