IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Ввести число и определить его автооморфность, Как на делфи ввести число , чтобы его посчитать
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 41
Пол: Женский
Реальное имя: Анастасия

Репутация: -  0  +


Задача такая. Дано натуральное число с. Определить, является ли оно автооморфным. Например : 6 в квадрате 36, 25 в квадрате 625. 6 и 25 автооморфные , потому что после возведения в квадрат числа совпадают с последнимим разрядами числа.
В паскале решить эту задачу я могу и решила. Но как это сделать на делфи. Я уже 2-й день сижу на том, что просто не могу ввести число через форму.
Код

program kkk;
uses crt;
var k,i,f,n,u:integer; s: array[1..15] of string[15];
n1,f1:string;
begin
clrscr;
u:=0;k:=0;
writeln('vvedite n');
readln(n);
f:=n*n;
writeln('n v kvadratre = ',f);
str(n,n1);
for i:=1 to length(n1) do
begin
u:=u+1; end; {u - kolichestvo chisel v n}
str(f,f1);
for i:=1 to length(f1) do
begin
s[i]:=f1[length(f1)-i+1]
end;
for i:=1 to u do begin   {proverayem s conza}
if n1[length(n1)-i+1]=s[i] then
begin
k:=k+1;
end;end;
if k=u then begin  {sravnivaem kolichestvo}
write('da');end else  {odinakovyh  chisel v f i n}
begin
write('net');
end;end.

На Делфи получается вот такая ерунда в самом начале.
Код

unit Unit121;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
  type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  var
  Form1: TForm1;
m,code,k,i,f,n,u:integer; s: array[1..15] of string[15];
a,n1,f1:string;
implementation
begin
u:=0;k:=0;
n:=strtoint(Edit1.Text)выдает ошибку на этой строке ...
f:=n*n;
procedure TForm1.Button1Click(Sender: TObject);
begin
label2.caption:=inttostr(f);
end;

Ошибка could not comiled used unit121.pas. Я по-всякому меняла представление n, чтобы его посчитать, но не получается. Для опытных пользователей делфи эта ошибка возможно покажется смешной. Но я не могу ничего сделать. Я на делфи почти не писала.
Прикрепленный файл  121.rar ( 2.09 килобайт ) Кол-во скачиваний: 223
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


если ты работаешь с формой, то все действия надо проводить в обработчиках событий или описывать обычными подпрограммами.
то есть для того, чтобы работало, просто засунь написанное на паскале внутрь procedure TForm1.Button1Click(Sender: TObject); (ну и замени readln и writeln)
unit Unit121;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
m,code,k,i,f,n,u:integer; s: array[1..15] of string[15];
a,n1,f1:string;
implementation
procedure TForm1.Button1Click(Sender: TObject);
begin
u:=0;k:=0;
n:=strtoint(Edit1.Text);
{n:=strtoint(a);}
f:=n*n;
label2.caption:=inttostr(f);
end;


вот так работает.
и еще один совет - по возможности не объявляй такую кучу глобальных переменных. лучше в каждой процедурке свой раздел var


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 41
Пол: Женский
Реальное имя: Анастасия

Репутация: -  0  +


Ой, спасибо. Все работает.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.10.2020 19:39
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name