Вот задачи, которіе надо решить. Помогите пожалуйста
1)Дано координаты (целые от 1 до 8) двух разных полей шахматной доски. Если ферзь за один ход может перейти из одной части поля на другую, вывести логическое значение True, иначе вывести значение False.
2)Дан файл, каждая строка которого имеет даты в формате дд.мм.гггг. Создать новый файл, в котором даты будут записаны в порядке возростания.
3)http://static.diary.ru/userdir/6/4/7/0/ ... 172950.jpg
Помогите пожалуйста решить задачи на паскале
Очень нужны эти задачи, а то не допустят к экзамену
В задаче №3 число D задано ???
#1
[syntax='Delphi']
program lalala;
var x1,y1,x2,y2:integer;
begin
read(x1,y1,x2,y2);
if (x1=x2)or(y1=y2)or( abs(x1-x2) = abs(y1-y2)) then writeln('true') else writeln('false');
end.
[/syntax]
#2
[syntax='Delphi']
program lalala;
const maxn=1000;
fin='file.in';
fout='file.out';
type date=record d,m,y:integer; end;
dates=array[1..maxn] of date;
var d:dates;
i:integer;
procedure swp(a,b:date);
var k:date;
begin
k:=a;
a:=b;
b:=k;
end;
procedure readdates;
var l,c:string;
inf:text;
begin
fillchar(d,sizeof(d),0);
assign(inf,fin);
reset(inf);
i:=1;
while not eof(inf) do
begin
readln(inf,l);
c:=l[1]+l[2];
val(c,d.d);
c:=l[4]+l[5];
val(c,d.m);
c:=l[7]+l[8]+l[9]+l[10];
val(c,d.y);
inc(i);
end;
close(inf);
end;
procedure sortdates;
var k,l:integer;
begin
for k:=1 to n-1 do
for l:=k+1 to n do
if (d[k].y>d[l].y)or((d[k].y=d[l].y)and((d[k].m>d[l].m)or((d[k].m=d[l].m)and(d[k].d>d[l].d))) then
swp(d[k],d[l]);
end;
procedure writeinfile;
var outf:text;
k:integer;
begin
assign(outf,fout);
rewrite(outf);
for k:=1 to i do
writeln(outf,d[k].d,'.',d[k].m,'.',d[k].y);
close(outf);
end;
begin
readdates;
sortdates;
writeinfile;
end.[/syntax]
[syntax='Delphi']
program lalala;
var x1,y1,x2,y2:integer;
begin
read(x1,y1,x2,y2);
if (x1=x2)or(y1=y2)or( abs(x1-x2) = abs(y1-y2)) then writeln('true') else writeln('false');
end.
[/syntax]
#2
[syntax='Delphi']
program lalala;
const maxn=1000;
fin='file.in';
fout='file.out';
type date=record d,m,y:integer; end;
dates=array[1..maxn] of date;
var d:dates;
i:integer;
procedure swp(a,b:date);
var k:date;
begin
k:=a;
a:=b;
b:=k;
end;
procedure readdates;
var l,c:string;
inf:text;
begin
fillchar(d,sizeof(d),0);
assign(inf,fin);
reset(inf);
i:=1;
while not eof(inf) do
begin
readln(inf,l);
c:=l[1]+l[2];
val(c,d.d);
c:=l[4]+l[5];
val(c,d.m);
c:=l[7]+l[8]+l[9]+l[10];
val(c,d.y);
inc(i);
end;
close(inf);
end;
procedure sortdates;
var k,l:integer;
begin
for k:=1 to n-1 do
for l:=k+1 to n do
if (d[k].y>d[l].y)or((d[k].y=d[l].y)and((d[k].m>d[l].m)or((d[k].m=d[l].m)and(d[k].d>d[l].d))) then
swp(d[k],d[l]);
end;
procedure writeinfile;
var outf:text;
k:integer;
begin
assign(outf,fout);
rewrite(outf);
for k:=1 to i do
writeln(outf,d[k].d,'.',d[k].m,'.',d[k].y);
close(outf);
end;
begin
readdates;
sortdates;
writeinfile;
end.[/syntax]
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
[OK]
#3
[syntax='Delphi']
program lalala;
var d:real;
function next(k,a1,a:real);
begin
if d<abs(a-a1) then writeln(k) else next(k+1,a,(a1+a)/2);
end;
begin
writeln('Enter D');
readln(d);
next(2,1,2);
end.[/syntax]
[syntax='Delphi']
program lalala;
var d:real;
function next(k,a1,a:real);
begin
if d<abs(a-a1) then writeln(k) else next(k+1,a,(a1+a)/2);
end;
begin
writeln('Enter D');
readln(d);
next(2,1,2);
end.[/syntax]
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
[OK]
Задачи- делать нечего. Any questions?
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
[OK]
#1. Код, недоступный пониманию
if abs(x1-x2)*abs(y1-y2) in [0, sqr(x1-x2)] then result:=true else result:=false;
if abs(x1-x2)*abs(y1-y2) in [0, sqr(x1-x2)] then result:=true else result:=false;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.