Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ “Игра” в слова

Автор: Рокси 18.03.2004 18:11

Приветик. Плизззз, помогите решить мне эту задачку. Я понятия не имею, как её решать.
Дана последовательность, содержащая от 2 до 5 слов, в каждом из которых
от 1 до 8 строчных латинских букв. Между соседними словами не менее одного пробела. За последним словом точка. Напечатать те слова-последовательности, которые отличаются от последнего слова и удовлетворяют следующему свойству:
1-я буква слова входит в него еще раз.
Заранее огромное спасибо.

Автор: Guest 18.03.2004 21:01

даны натуральные числа a,b,c которые обозначает число месяц и год
а) проверить корректность этой даты (пример 30 февраля 900года)
б) найти номер этого дня с начала года
в) определить сколько полных дней осталось до конца года

Автор: Guest 19.03.2004 0:49

MAX(X+Y+Z,XYZ);
MIN(X+Y+Z,XYZ);

Автор: Darkwolf 22.03.2004 20:33

Посмотри задачку. Находит день недели по дате.
проверяет дату но в случее неверного ввода выкидывает.
Ёще есть проблемы с високосным годом.
Если сможешь исравить то напиши

Код

uses crt;
var
IsCorrectDate: Boolean;
d,m,y : Integer;
Procedure InputDate (var d,m,y : Integer; var correctly : Boolean);
begin
Write ( 'Введите дату ');
ReadLn(d,m,y);
correctly := (d>=1) and (d<=31) and (m>=1)
and (m<=12) and (y>=1582) and (y<=4903)
end;
Procedure WriteDay (d,m,y : Integer);
const
Days_of_week : array [0..6] of String [11] =
( ' Понедельник ' , ' Вторник ' , ' Среда ' ,
' Четверг ' , ' Пятница ' , ' Субота ' , ' Воскресенье ' );
var
c, w : Integer;
begin
if m < 3 then
begin
m := m + 10;
y := y - 1
end
else
m := m - 2;
c := y div 100;
y := y mod 100;
w := abs(trunc(2.6*m-0.2)+d+y div 4+y+c div 4-2*c) mod 7;
WriteLn (Days_of_week [w] )
end;
begin
repeat
InputDate (d,m,y, IsCorrectDate);
if IsCorrectDate then
WriteDay (d,m, y )
until not IsCorrectDate
end.