циклич алгоритмы
Добавлено: 04 фев 2006, 00:34
Вот задача
Дано натуральное число N. Определить количество цифр в цифровой записи данного числа,которые имеют наименьшее значение.
У меня количество цифр выдается все время равным 1. Где ошибка в программе. Исправьте если можно.
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
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
S: String;
N,count,i, j: Integer;
begin
s:=Edit1.Text;
s:=IntToStr(N);
count:=0;
for i := 1 to 9 do
if pos(IntToStr(i), S) > 0 then
begin
for j := 1 to Length(S) do
if S[j] = IntToStr(i) then inc(count);
ShowMessage('Количество минимальных цифр:' + IntTostr(count));
Break;
end;
end;
end.
Дано натуральное число N. Определить количество цифр в цифровой записи данного числа,которые имеют наименьшее значение.
У меня количество цифр выдается все время равным 1. Где ошибка в программе. Исправьте если можно.
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
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
S: String;
N,count,i, j: Integer;
begin
s:=Edit1.Text;
s:=IntToStr(N);
count:=0;
for i := 1 to 9 do
if pos(IntToStr(i), S) > 0 then
begin
for j := 1 to Length(S) do
if S[j] = IntToStr(i) then inc(count);
ShowMessage('Количество минимальных цифр:' + IntTostr(count));
Break;
end;
end;
end.