Задача вроде легкая но допереть не могу...
Вывести на экран в возрастающем порядке все четырехзначные натуральные числа, все цифры которых являются соседями в натуральном ряде. Примерами таких чисел являются 4756 и 7645. Найти кол-во и среднее арифметическое этих чисел..
Заранее спасибо... у меня сроки до завтра .. так что если у кого решение есть выложите пожалуйста... 50 кину на счет кто сегодня выложит решение...
Решите плиз задачку .. в долгу не останусь.. только сегодня надо...
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
Код: Выделить всё
function iskomoe(x:integer):boolean;
var res:boolean; i,j:byte; s:string;
begin
s:=str(x);
for i:=1 to 6 do
begin
res:=true
for j:=i to i+3 do
if pos(chr(ord('0')+j, s)=0 then
begin
res:=false;
break;
end;
if res then
begin
iskomoe:=true;
exit;
end;
end;
iskomoe:=false;
end;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Хыиуду,
Функция вернет FALSE на первой же итерации цикла, если число не содержит цифру 1.
Функция вернет FALSE на первой же итерации цикла, если число не содержит цифру 1.
Код: Выделить всё
uses crt;
var
X : Integer;
function func1(N:Integer):Boolean;
var s: string;
i: Integer;
c: Char;
begin
Str(N, S);
func1 := false;
if length(s) <> 4 then exit;
repeat
c := #0;
for i := 1 to 3 do
if s[i+1] < s[i] then
begin
c := s[i];
s[i] := s[i+1];
s[i+1] := c;
end;
until c=#0;
Func1 := (ord(s[2])-ord(s[1])=1) and (ord(s[3])-ord(s[2])=1) and (ord(s[4])-ord(s[3])=1);
end;
begin
ClrScr;
For X := 1000 to 9999 do
if func1(X) then Write(X:8);
Readkey;
end.
It's a long way to the top if you wanna rock'n'roll
Спасибо огромное... Среднее арифметическое и кол-во я и сам найду..
Спасибо, исправил. Там надо было ставить не break, а exitBBB писал(а):Хыиуду,
Функция вернет FALSE на первой же итерации цикла, если число не содержит цифру 1.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.