Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Длинная арифметка 
:(
    Опции темы
Frogs2009
Дата 21.6.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.6.2008

Репутация: нет
Всего: нет



Составить программу для вычисления степеней чисел вида an, если a> Maxint, n > 10.       Uses CRT;


Код

Var
  a, i,n,b: longint;
Begin
 clrscr;
 Writeln ('Введите A ');
 readln (a);
 b:=a;
 Writeln ('Введите n');
 readln (n);
 for i:=2 to n do begin
 a:=a*b;
 end;
 Writeln (a);
 readln;
end. 



составил программу возведения в степень где А- не большое longint, как А вписать в массив что бы выводилось длинное число, для А > Longint??? помогите пожалуйста! заранее спасибо!!!!
PM MAIL   Вверх
ne0n
Дата 21.6.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: нет
Всего: 11



как то непонятно сформулировал вопрос....
ну в паскале longint  это самый большой целочисленный тип данных... ну сделай переменную a типа extended smile  четче сформулируй че надо....
PM MAIL ICQ   Вверх
Frogs2009
Дата 22.6.2008, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.6.2008

Репутация: нет
Всего: нет



когда я ввожу A(чсло возводимое в степень)= 3500, и N(степень, в которую я возвожу число)= 10, у меня не хватает ни какого типа переменных, там надо создать массив,в который я должен записать полученное число,а я не знаю как это сделать, подскажи пожалуйста!
PM MAIL   Вверх
ne0n
Дата 22.6.2008, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: нет
Всего: 11



Frogs2009,  я же сказал используй не longint а extended.
PM MAIL ICQ   Вверх
Frogs2009
Дата 22.6.2008, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.6.2008

Репутация: нет
Всего: нет



Цитата(ne0n @ 22.6.2008,  14:03)
Frogs2009,  я же сказал используй не longint а extended.

мне нужно именно через массив делать,а я не знаю как и все равно eхtended не хватит при большем кол-ве цифр
PM MAIL   Вверх
Frogs2009
Дата 22.6.2008, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.6.2008

Репутация: нет
Всего: нет



Код

program prem123;
uses crt;
const
FileName='moy.dat';
Procedure
Fil(Const n: integer);
var f: file of real;
i: integer;
begin
randomize;
assign(f,FileName);
reWrite(f);
for i:=1 to n do
write(f,Random*100);
close(f);
end;
var
Min,Max,r: real;
f: file of real;
i,n:integer;
begin
clrscr;
write('N=');
readln(n);
writeln('v vayle',FileName);
Fil(n);
assign(f,FileName);
reset(f);
read(f,r);
min:=r;
Max:=r;
write(r:10:5);
for i:=2 to n do
begin 
read(f,r);
write(r:10:5);
if r<min then min:=r;
if r>Max then Max:=r;
if i mod 8 = 0  then writeln;
end;
writeln('Min=',min:10:5);
writeln('Max=', max:10:5);
writeln('summ='.(min+max):10:5);
readln;
end.


составил программу для вычисления A^n, начал запускать - ругается на строчку 
Код

write(f,Random*100);

 пишет:"error 122: Invalid variable reference (недопустимая ссылка на переменную)", в чем дело?? что сдесь не так??? помогите пожалуйста!!! заранее спасибо!
PM MAIL   Вверх
Majar
Дата 23.6.2008, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.6.2008

Репутация: нет
Всего: нет



Цитата(Frogs2009)

Код

write(f,Random*100);


random - это функция, и ей должен передаваться параметр, у вас же он отсутсвует, должно быть random(x)
А, извините, забыл, что можно объявлять и просто random. Сделал так:
Код

...
var 
 x: real;
...
for i:=1 to n do
 begin
  x:= random*100;
  write(f,x);
 end;
...

И сразу еще об одной ошибке:
Цитата
 
Код

writeln('summ='.(min+max):10:5);


исправьте '.', на ',' 


Это сообщение отредактировал(а) Majar - 23.6.2008, 13:26
PM MAIL   Вверх
Frogs2009
Дата 23.6.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.6.2008

Репутация: нет
Всего: нет



Цитата(Majar @ 23.6.2008,  00:26)

random - это функция, и ей должен передаваться параметр, у вас же он отсутсвует, должно быть random(x)

изменил как вы сказали,а он тоже самое пишет((( что за фигня???
PM MAIL   Вверх
Majar
Дата 23.6.2008, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.6.2008

Репутация: нет
Всего: нет



Смотрите пост выше, я отредактировал его
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0710 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.