Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2008, 18:20   #1
Just ice
Новичок
Джуниор
 
Регистрация: 09.11.2008
Сообщений: 2
По умолчанию Помогите пожалуйста с задачей на Delphi

Вот условия:
Вводится целых чисел. Определить без использования строк, сколько чисел данной последовательности содержат в своей десятичной записи цифры «2,6,3» и не содержит цифр «1,7,9». Вывести найденные числа.
Помогите пожалуйста, уже вторую неделю пытаюсь наисать, куча алгоритмоа перепробовал и ничего
заранее спасибо большое
Just ice вне форума Ответить с цитированием
Старый 09.11.2008, 19:26   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
уже вторую неделю пытаюсь наисать, куча алгоритмоа перепробовал и ничего
Выкладывайте код ваших попыток.

З.Ы.
Цитата:
Помогите пожалуйста с задачей на Delphi
Где тут Дельфи? Опять голый паскаль...
У нас есть кнопотулька такая, на ней нарисован значок #, это специально для оформления в виде кода.

Последний раз редактировалось mihali4; 09.11.2008 в 19:59.
mihali4 вне форума Ответить с цитированием
Старый 09.11.2008, 19:35   #3
Just ice
Новичок
Джуниор
 
Регистрация: 09.11.2008
Сообщений: 2
По умолчанию

type sep= set of '0'..'9';
Const A: sep=['2','3','6']; B: sep=['2'..'6','8'];
var
mnoj,res:sep;
cic,cp:string; ch:char; i,n,k:integer;
begin
Writeln('Input 10 numbers and push Enter');
Readln(cp);
cp:=cp+' ';
while cp<>'' do
begin
k:=pos(' ',cp);
cic:=Copy(cp,1,k-1);
Delete(cp,1,k);
mnoj:=[ ];
for i:=1 to k-1 do
if cic[i] in B then
begin
if cic[i] in A then
mnoj:=mnoj+[cic[i]];
res:=mnoj;
if ch in res then
Write(ch:2)
end
end;
{for i:=1 to 10 do
ch:=cp[i];
if (ch<>'1') or (ch<>'7') or (ch<>'9') then
begin
if (ch='2') or (ch='3') or (ch='6') then
Write(ch);
end
else Write('error');}
{else Writeln('no symbols found');}
{cp:=cp+' ';
mos:=[];
for i:=1 to length(cp) do
if cp[i] in B then
if cp[i] in A then
mos:=mos+[cp[i]];
writeln;
for ch:='0' to '9' do
if ch in mos then
Write(ch);}
readln
end.

Я тут строки использовал, как без строк я вообще понятия не имею...
Все остальные варианты похожи впринципе на эти
Just ice вне форума Ответить с цитированием
Старый 09.11.2008, 21:57   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

М-м-да...
Разбирайтесь, подставляйте ваши условия, приводите к нужному виду и сдавайте:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,numb,res: integer;
    numbr: real;
    ok: boolean;
begin
numb:=StrToInt(Edit1.Text);
numbr:=numb;
res:=10;
ok:=False;
while numbr/10>=1 do
begin
numbr:=numb/10;
numb:=Round(Int(numbr));
res:=Round(Int(Frac(numbr)*10));
if res in [1,3,5] then
ok:=True;
if res in [8,9] then
begin
ok:=False;
break;
end;
end;
if ok then
ShowMessage(Edit1.Text);
end;
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, с задачей в Delphi! Jagoda_Malina Помощь студентам 1 07.11.2008 00:47
Помогите с задачей пожалуйста Apache Паскаль, Turbo Pascal, PascalABC.NET 2 07.10.2008 20:35
Помогите пожалуйста с задачей!!! Aleo13 Паскаль, Turbo Pascal, PascalABC.NET 7 03.10.2008 16:16
Пожалуйста, помогите с задачей по C++ Maksimym Помощь студентам 2 10.01.2008 23:18
помогите пожалуйста с задачей! Coolmanz Помощь студентам 2 06.01.2008 23:07