Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Входит ли цифра в десетичную запись числа


Автор: maxi91m 4.5.2007, 21:48
Составте программу, определяющею, входит ли введёная вами цифра в десятичную запись введённого вами числа, и печатающею сообщение о том, входит ли эта цифра в запись числа или нет.

Прогамма должна быть написана без процедур и функций. smile 

Автор: KRIP 4.5.2007, 22:51
Как понять десятичная запись числа?

Автор: Klin 5.5.2007, 00:36
Тоже ниче не понял, типа десятичное число или нет? Тогда так:
Код

var n: real;
begin
 writeln('Введите число: '); readln(n);
 if ( n <> trunc(n) ) then writeln('Вы ввели десятичное число!'); 
end.

Автор: Klin 5.5.2007, 01:33
А если нужно определить содержит ли десятичное число, после запятой введенное значение, то так:
Код

var n,n2: string;
     now,start: integer;
begin
 write('Введите ваше число: '); readln(n);
 write('Введите искомое число: '); readln(n2);
 
 start:=-1;

 for now:=0 to Length(n) do if (n[now]='.') then
  begin
    start:=now+1;
    now:=Length(n);
  end;
 {процесс определения нахождения запятой (можно и через Pos, но вы сказали нельзя) } 
  
 if (start <> -1) and (n2 <> '') then begin
 { процесс определения содержания запятой и наличие второго искомого числа) }
  now:=start; {определяем начало}
  while now <= Length(n) do
   begin
     if (Copy(n,now,Length(n2)) = n2) then 
      begin
       writeln ('Десятичное число содержит искомое значение');  { Выводим сообщение на экран }
       now:= Length(n)+1; { завершаем цикл }
      end;
     { если в символьном ряду содержится искомое выражение, то
             выводим об этом сообщение и завершаем поиск      }
            
     now:=now+Length(n2);
     {продолжаем поиск выражения}
   end;
 end; 
end.


p.s. n- это десятичное число в текстовом виде
        n2- число, которое следует найти 

Автор: ama_kid 5.5.2007, 08:04
Что-то мне подсказывает, что до таких сложностей дело еще не дошло. Имхо там просто требуется определить - входит ли введенная цифра в десятичную запись введенного числа. Т.е. примерно так:
Код

program Project2;
var
 N:byte;
 Number:integer;
 k:integer;
 flFind:boolean;
begin
 write('Vvedite chislo: '); readln(number);
 write('Vvedite cifru: '); readln(N);
 if N>=10 then exit;  {Ввели не цифру}
 k:=1;
 flFind:=false;
 while (Number div k)>0 do
  begin
   if (Number div k) mod 10=N then begin flFind:=true; break; end;
   k:=k*10;
  end;
 if flFind then Writeln('Soderzhit') else writeln('Ne soderzhit');
 readln;
end.

Автор: Klin 5.5.2007, 16:18
Цитата(ama_kid @  5.5.2007,  09:04 Найти цитируемый пост)
Что-то мне подсказывает, что до таких сложностей дело еще не дошло.

Будем ждать ответа ;)

Автор: maxi91m 5.5.2007, 22:16
ama_kid Спасибо за правильное решение.
Извините за ниточность надо было найть , входит ли цифра в запись трехзначного числа.

Ну всёравно спасибо за внимание. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)