Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2012, 19:24   #1
badname47
Пользователь
 
Регистрация: 03.12.2011
Сообщений: 19
По умолчанию Программа с case.

Доброго времени суток!

Нужно написать следующую программу: С клавиатуры вводятся две даты в формате ДД-ММ-ГГ. То есть сначала две цифры означающие номер дня, затем две цифры — номер месяца, и наконец, две цифры — номер года. Считая, что введенные даты корректны, определите какая из них раньше. Не забудьте учесть високосные годы.

Заранее спасибо !
badname47 вне форума Ответить с цитированием
Старый 05.03.2012, 21:38   #2
Arhangel7
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 90
По умолчанию

а сам что?
как-то так
Arhangel7 вне форума Ответить с цитированием
Старый 05.03.2012, 21:50   #3
Paster Fob
Форумчанин
 
Аватар для Paster Fob
 
Регистрация: 06.02.2011
Сообщений: 105
По умолчанию

сравнить годы если они совпадают,то сравнить месяцы,если месяцы совпадают,сравнить дни учитывая сколько дней в месяце.Решайте!
Paster Fob вне форума Ответить с цитированием
Старый 06.03.2012, 22:46   #4
Sayto
 
Регистрация: 29.11.2011
Сообщений: 6
По умолчанию

program zz1;
uses crt;
var
d:array[1..2,1..3] of integer;
i,j:integer;
begin
writeln('ââåäèòå');
for i:=1 to 2 do begin
for j:=1 to 3 do
read(d[i,j]);
end;
for i:=3 downto 1 do begin
if d[1,i]>d[2,i] then begin writeln('d1 áîëüøå)'); break end;
if d[2,i]>d[1,i] then begin writeln('d2 áîëüøå)'); break end
end;
end.
Sayto вне форума Ответить с цитированием
Старый 06.03.2012, 23:11   #5
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Честно, не представляю, зачем это решать через case, но тем не менее:
Код:
var
  d,d2,m,m2,y,y2:integer;
begin
  readln(d,m,y);
  readln(d2,m2,y2);
  case y<y2 of
    true: writeln(d,':',m,':',y);
    false:
        case y>y2 of
          true: writeln(d2,':',m2,':',y2);
          false:
            case m<m2 of
              true: writeln(d,':',m,':',y);
              false:
                case m>m2 of
                  true: writeln(d2,':',m2,':',y2);
                  false:
                    case d<d2 of
                      true: writeln(d,':',m,':',y);
                      false:
                        case d>d2 of
                          true: writeln(d2,':',m2,':',y2);
                          false: writeln('dates are equals');
                        end;
                    end;
                end;
            end;
        end;
  end;
  readln;
end.
P.S. И каким боком в этом задании вообще могут помешать високосные года?
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 07.03.2012, 09:14   #6
Paster Fob
Форумчанин
 
Аватар для Paster Fob
 
Регистрация: 06.02.2011
Сообщений: 105
По умолчанию

Цитата:
Сообщение от whatever Посмотреть сообщение
P.S. И каким боком в этом задании вообще могут помешать високосные года?
ну типа того ты вводишь дату 29.02 и тебе выдаёт что в таком-то году нет такой-даты или если есть то,этот день раньше,так наверное.

Последний раз редактировалось Paster Fob; 07.03.2012 в 09:19.
Paster Fob вне форума Ответить с цитированием
Старый 07.03.2012, 10:40   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Paster Fob Посмотреть сообщение
Цитата:
Сообщение от whatever
P.S. И каким боком в этом задании вообще могут помешать високосные года?
ну типа того ты вводишь дату 29.02 и тебе выдаёт что в таком-то году нет такой-даты или если есть то,этот день раньше,так наверное.
категорически согласен с whatever!

Paster Fob, а Вы задание внимательно прочитали?!
в задании же чётко сказано
Цитата:
...Считая, что введенные даты корректны...
значит некорректные данные не могут быть заданы ПО УСЛОВИЮ задачи!
и проверять висосные года никакого смысла резона нет!


p.s. и, кстати, я тоже не понимаю, зачем использовать здесь конструкцию CASE, если здесь и банального IF then else хватит за глаза!

Короче. Резюмируя. Автору задачи НЕЗАЧЁТ!

Последний раз редактировалось Serge_Bliznykov; 07.03.2012 в 10:47.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++.switch-case счетчик. не работает программа. Leeto Помощь студентам 0 22.12.2011 13:17
2 Case в 1 minamoto Общие вопросы Delphi 7 17.07.2011 05:44
программа с оператором case marmarmar Паскаль, Turbo Pascal, PascalABC.NET 2 27.02.2011 16:45
case от а до я Horus92 Помощь студентам 7 15.07.2010 01:43