Извини, что слишком большой код, но зато показывает любую дату. Со всеми нюансами. Даже если в июле и августе по 31 дню, а в феврале 28)
var a,b,c:integer;
d:string;
begin
write ('Введите сегодняшнее число '); readln (a);
write ('Введите номер месяца '); readln(d);
if (d='5') or (d='05') or (d='7') or (d='07') or (d='10') or (d='12') then
begin
if a<31 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',30,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='4') or (d='04') or (d='6') or (d='06') or (d='9') or (d='09') or (d='11') then
begin
if a<30 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='2') or (d='2') then
begin
if a<28 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='3') or (d='03') then
begin
if a<31 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',28,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='1') or (d='01') then
begin
if a<31 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='8') or (d='08') then
begin
if a<31 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
end.
#include <bits/stdc++.h>
using namespace std;
int main()
{
char a[8][8];
long long x, y, i, j;
cin >> y >> x;
for(i = 0; i < 8; i++){
for(j = 0; j < 8; j++){
a[i][j] = '.';
}
}
x--;
y--;
if(x - y >= 0){
i = 0;
j = x - y;
}
else{
j = 0;
i = y - x;
}
for(;i < 8 and j < 8;){
a[i][j] = '*';
i++;
j++;
}
if(x + y <= 7){
i = 0;
j = x + y;
}
else{
j = 7;
i = x + y - 7;
}
for(;i < 8 and j >= 0;){
a[i][j] = '*';
i++;
j--;
}
i = 0;
j = x;
for(;i < 8; i++){
a[i][j] = '*';
}
i = y;
j = 0;
for(;j < 8; j++){
a[i][j] = '*';
}
a[y][x] ='Q';
for(i = 0; i < 8; i++){
for(j = 0; j < 8; j++){
cout << a[i][j] << " ";
}
cout << '\n';
}
return 0;
}
Объяснение: