![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
NightPaladin |
![]() ![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 67 Пол: Мужской Репутация: ![]() ![]() ![]() |
Надо учитывать только то, что месяцы по 30 и 31 дню, высокосным годом и 29 днями февраля.
У Васи Пупкина неожиданно сломался компьютер. Из-за отсутствия нужных материалов на ремонт понадобится N дней. Определите дату окончания ремонта, если известно, что компьютер сломался в текущем году, и ремонт должен закончиться тоже в этом году. Известна дата поломки в формате ДД.ММ и количество дней ремонта N. Получить дату окончания ремонта в формате: ДД.ММ. Пример: Входные данные: Выходные данные: 01.06 30 01.07 Вот мои наброски она вечно касячит, т.е найдётся такое число при котором она выдаст не тот ответ - помогите пожалуйста Код program asd; Uses Crt; const n = 100; m = 1000; var mas: array[1..n] of String; mas2: array[1..m] of Integer; date: String; count,w,q,e,r,day,k,i: Integer; pr,od: byte; begin ClrScr; WriteLn('Input date:'); Readln(date); WriteLn('Input day:'); Readln(day); For count:= 1 to Length(date) do mas[count]:=Copy(date,count,1); mas[1]:=mas[1]+mas[2]; For count:= 2 to Length(date) do mas[count]:= mas[count+1]; Val(mas[1],q,w); mas2[1]:=q; mas[3]:=mas[3]+mas[4]; For count:=4 to Length(date)-1 do mas[count]:=mas[count+1]; Val(mas[3],e,r); mas2[2]:= e; Case e of 1,3,5,7,9,11: k:=31; 4,6,8,10,12: k:=30; 2: k:=30; end; If day+q > k then begin i:=(day+q) div k; mas2[2]:=e+i; day:=day-(k-q); If For count:= e+1 to mas2[2] do begin If NOT Odd(count) = true then day:=day - 30; Writeln(day); If Odd(count) = true then day:= day - 31; end; For count:=1 to pr do day:= day-30; For count:=1 to od do day:= day-31; end;{ else day:=day+q; If day = 0 then day:=1; Writeln(day,'.',mas2[2]);} ReadKey; end. Все исходники должны помещаться в теги [ CODE] [ /CODE] Сообщение отредактировано: volvo - 27.11.2004 16:53 -------------------- На горе лежит дискета
У неё испорчен boot Через дырочку в конверте Её вирусы грызут |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 2:46 |