Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.11.2010, 23:30
kate_miss kate_miss вне форума
Прохожий
 
Регистрация: 19.08.2010
Сообщения: 9
Репутация: 10
Вопрос Дано натуральное число n. Выяснить, входит ли цифра 3 в запись числа n2

ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!

НАПИСАЛА программу...
условие:
Дано натуральное число n. Выяснить, входит ли цифра 3 в запись числа n2(в квадрате).
считает только числа от 0 до 9....не могу сделать чтобы считал любое натуральное)))))



Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Image1: TImage;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
n,k,m,i,l,f:word;

begin
n:=StrToInt(Edit1.Text);
Memo1.Lines.Add('число - '+Edit1.Text);
n:=sqr(n);
Memo1.Lines.Add('число n в квадрате (n2) = '+IntToStr(n));
for i:=1 to n do
l:=n div 100;
f:=n mod 100;
k:= n div 10;
m:= n mod 10;
if (l=3) or (f=3) or (k=3) or (m=3) then Memo1.Lines.Add('Число 3 входит в запись числа n2')
else Memo1.Lines.Add('Число 3 не входит в запись числа n2');

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.Lines.Add('Лаб. раб №3 Шеметовец Е. гр.417329');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Close;
end;

end.
Ответить с цитированием
  #2  
Старый 04.11.2010, 23:34
kate_miss kate_miss вне форума
Прохожий
 
Регистрация: 19.08.2010
Сообщения: 9
Репутация: 10
Восклицание

+ еще надо сделать с помощью подпрограммы))))....вот что получилось...но не работает))))))

КОД UNIT

Код:
var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
n,i,l,k,f,m:word;

begin
n:=StrToInt(Edit1.Text);
Memo1.Lines.Add('число - '+Edit1.Text);
n:= sqr(n);
Memo1.Lines.Add('число n в квадрате (n2) = '+IntToStr(n));
for i:=1 to n do
myfunc(i,n,l,k,f,m);
if (k=3) or (m=3) or (l=3) or (f=3) then Memo1.Lines.Add('Число 3 входит в запись числа n2')
else Memo1.Lines.Add('Число 3 не входит в запись числа n2');

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.Lines.Add('Лаб. раб №3 Шеметовец Е. гр.417329');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Close;
end;

end.



КОД ПОДПРОГРАММЫ
Код:
unit proc;

interface
 function myfunc(i,n,l,k,f,m:word):word;

implementation
 function myfunc;
 begin
 l:=n div 100;
 f:=n mod 100;
 k:= n div 10;
 m:= n mod 10;
 end;

 end.

помогите кто чем может))))))......
Ответить с цитированием
  #3  
Старый 05.11.2010, 00:23
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

А не проще так:

Код:
unit proc;

interface
 function myfunc(i:word):boolean;

implementation

 function myfunc(i:word):boolean;
   var
    e,d,s,t :integer;
   begin
      e:= i mod 10; //Получение единиц
      t:= i div 1000;//Получение тысяч (если нет, то будет равно 0)
      d:=(i mod 100) div 10; //Получение десятков
      s:=(i mod 1000) div 100;//Получение сотен

Result:= (e=3) or (d=3) or (s=3) or (t=3);

   end;

 end.
Ответить с цитированием
  #4  
Старый 05.11.2010, 07:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Извращенцы

Код:
function Is3InN2(n : integer) : Boolean;
begin
  Result := Pos('3',IntToStr(n*n)) > 0;
end;
Ответить с цитированием
  #5  
Старый 05.11.2010, 07:51
Аватар для _Антон_
_Антон_ _Антон_ вне форума
Прохожий
 
Регистрация: 17.08.2010
Сообщения: 36
Репутация: 10
По умолчанию

солидарен с lmikle
Ответить с цитированием
  #6  
Старый 05.11.2010, 12:31
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Мда, слона то я и не заметил
Ответить с цитированием
  #7  
Старый 07.11.2010, 23:12
kate_miss kate_miss вне форума
Прохожий
 
Регистрация: 19.08.2010
Сообщения: 9
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Извращенцы

Код:
function Is3InN2(n : integer) : Boolean;
begin
  Result := Pos('3',IntToStr(n*n)) > 0;
end;



прошу прощения а тогда что в unit1 писать???..подскажите , не могу что-то доделать)))))
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:45.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025