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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2016, 20:21   #1
Tony Hudson
Пользователь
 
Регистрация: 05.03.2015
Сообщений: 36
По умолчанию Ошибка в коде. Типы данных

Добрый вечер, уважаемые форумчане. Не могу исправить ошибку, подскажите в каких типах данных все подсчитать?
Код:
var
  Form1: TForm1;
  q,h,a,p,k,g,s,l,z,u,x,y,gamma:integer;

implementation

{$R *.dfm}
//_________________________________________________________________
function prost(x:integer):boolean;
var
i:integer;
begin
result:=false;
for I:=2 to Round(sqrt(x)) do
if x mod i<>0 then result:=True
else
begin
result:=False;
break;
end;
end;

//_________________________________________________________________
procedure stepen(a,u,p:integer; var z:integer);
var
i:integer;
begin
z:=1;
for i:=1 to U do // z=a^U mod p
z:=a*z mod p;
end;

//_________________________________________________________________
procedure pokazatel(a,p:integer; var gamma:integer);
var
i:integer;
begin
gamma:=0;
repeat
begin
gamma:=gamma+1;
if prost(gamma) then continue;
stepen(a,gamma,p,i);
end
until i=1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
a:=strtoint(Edit1.Text);
p:=strtoint(Edit2.Text);
u:=strtoint(Edit3.Text);
x:=strtoint(Edit4.Text);
if prost(a) then Showmessage('Простое ') else Showmessage('Составное');
stepen(a,u,p,z);
stepen(a,x,p,y);
pokazatel(a,p,gamma);
Edit5.Text:='y='+IntTostr(y);
Edit6.Text:='Z='+IntTostr(z);
Edit7.Text:='Y=' + Inttostr(gamma);
k:=(U+Z)/(x+1) mod  gamma;
end;
end.
Tony Hudson вне форума Ответить с цитированием
Старый 08.06.2016, 21:10   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

оператор mod будет работать, если слева и справа от него будут целые ппременные, выражения или константы, причём ненулевые.
Как звучит оригинал задания?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 08.06.2016, 21:12   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

int/int -> действительный тип, а к нему mod не применим
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.06.2016, 21:30   #4
Tony Hudson
Пользователь
 
Регистрация: 05.03.2015
Сообщений: 36
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
оператор mod будет работать, если слева и справа от него будут целые ппременные, выражения или константы, причём ненулевые.
Как звучит оригинал задания?
Нужно подсчитать по формулам, чтобы проверочное уравнение было верным
Tony Hudson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java. Ошибка. Компилируется, но не запускается. Ошибка duplicate class. Проблема не в коде. nevender Общие вопросы по Java, Java SE, Kotlin 2 13.02.2016 13:24
Ошибка в коде. Типы данных Tony Hudson Помощь студентам 4 14.12.2015 00:35
Ошибка в коде чтения данных из файла wroud C# (си шарп) 3 25.01.2012 20:16
Delphi: ошибка - типы данных Sianessa Помощь студентам 20 20.11.2010 00:15