Вот такая проблемка.
а если число после умножения на 2 привысит MaxInt а?
кто писал это условие ;D
хех, если ты решил сумничать, то у тебя не получилось :P, вопрос не к чему, с такими ответами лучше молчать..... :-X
Нармально мыслящие люди такой вопрос наврядли задодут...
А сам ты по ходу ничего не сделал?
Выложил бы то что начал, а то все надеются получить здесь готовое решение не прилагая к этому никаких усилий >:(
И сразу решил сумничать... >:(
Пусть я не нормально мыслящий человек, да и тоже решу сумничать, но все таки скажу кое-что:
1. По поводу превышения макс. значения Integer: вообще говоря тип данных описан выше, так что навряд ли придется, переделывать его. Но в условии это не указано напрямую, а работа с удвоенным целым без расширения его в три-четыре байта и как следствие запись в файл этих значений (один файл) существенно отличается от записи тех же удвоенных целых, но в 2 байта длиной.
Хотя может быть ты не знаешь, что такое MaxInt, Geroi? :o
Если решать нужно все-таки без расширения получаемых целых, то прога очень просто реализуется через процедуры BlockWrite, BlockRead & Seek.
Если нет - придется читать все в память, либо выкобениваться при чтении/записи, после чтения анализируя каждый фрагмент...
Выложи хотя бы сырец своего творения, Герой
P.S. А по поводу молчания с такими вопросами (Alex Mes), дык это тебе лучше молчать с такими заданиями... >:(
да не объясняй ты это ламеру
он же ГЕРОЙ сам всё сделает
Я вообще не могу понять, что вам не нравится?!?!?! ??? ???
По первой задаче, Я задал токо один вопрос, её решать не надо, Я её сам сделаю. У меня вопрос, как там сделать эту замену числа чётного, после его удваевания.
А по второй Я просто без понятия как её начать. И у вас это спросил.
А вы тут муть и спам разводите.
Если не знаете, так вас никто не напрегает, а если можете помочь. то вам решать, говорить или нет.
Лишний базар у Вас идёт......
В задаче имеется ввиду, что числа будут от 1 до 50.... или в этом роде.
ты же "Нармально" мыслящий человек!
В чём же тогда проблема? ха ха ха
Alex иди спать, не мозоль глаза.
это говорит о том - что осёл тут один - это ТЫ
главно мыслящий осёл ха ха ха
если тебе это о чём-то скажет
то Seek работает и с типизированными файлами
и ещё
если в файле хранятся числа из диапазона 1..50
то надо сменить "File of Integer" на "File of Byte"
дабы уменьшить размер файла
так как 1..50 * 2 < High(Byte) надеюсь такая абстрактная запись тебе будет ясна
ох как ты достал, говоришь то, что говорят в 9 классе в школе.
Чё слабо вторую задачу сделать? Мне слабо , поэтому и зашёл сюда, чтоб помогли её сделать болле знающие люди, а Есле ты не можешь, то не к чему разводить балаган на форуме. Я сюда обратился за помощью, а не с тоболй рамсеть. А если ты малой недоносок, то мне с тобой вообще не очём говорить. >:(
"ох как ты достал, говоришь то, что говорят в 9 классе в школе."
ты значит ещё младше раз это в 9 классе говорят или ты на уроки не ходишь учёничёк
"Чё слабо вторую задачу сделать?"
легко)примитивщина
но тебе походу не под силу...
молись ламер чтобы тебе её кто-нибудь решил либо плати WM-ами
тогда я тебе её решу
P.S. таким ослам - только за лаве
Alex разве ты заходишь только поболтать? Что те не нравится?
я думаю не надо быть столь придирчивым к условию, я ведь его не сам выдумывал, MaxInt или т.п. Суть не в этом.
Сам ты нехороший человек, говориш чушь какую-то.
А на счёт того что Я немогу сделать, то Я сам сказал, что её слабо сделать.
Разве Я похож на ламера? Если Я немогу сделать какие-то задачи, это не чего не значит.
И ещё ты нехороший человек, если такую как ты говориш прмитивщину за деньги делаешь.
Ладно хватит паливать друг друга матом не из-за чего...
Вот прога, но я её мало тестил так что могут (да скорее всего они и есть) - быть глюки
опять очередной соискатель халявы получил что хотел...обидно
понимаю хоть бы сам что-то сделал...
ведь всегда видно людей у которых просто что-то не получается и им достаточно порой намёка для решения их задачи - таким людям грех не помочь(сами тебе в другой раз помогут) а таким...
всё равно бестолку - ну что Ivs тебе решил ну и? мозги-то его ты себе не приложишь! ну и ладно :P
Alex или Ivs у вас есть какие нибудь мысли по моей задаче?(Тема : "Сырая прога") Только ответьте пожалуйста!
По-моему реализация IVS'a не соответствует условию задачи (во-всяком случае первой): должен быть открыт только один файл. Вот мой вариант, а почему я его сделал, дык это потому что процедура открытия файла в пасе для чтения/записи одновременно, всегда работала криво (он использует FSB). И если все таки попробовать, то получается такая хня, а точнее он выдает ОШИБКУ №6 которая в принципе не может случится!!! :o :o
Кое-что на ассемблере, но иначе пришлось постоянно открывать/закрывать файл, что не прет...
Чтобы работало и для задачи №2, дык просто утроить переменную W...
А вони действительно было много :D
Const
FName = 'int.bin';
IntNumb = 10;
Var
F:File of Integer;
i,Handle:Word;
W:Integer;
M,K:LongInt;
S:String;
Procedure GenerateFile;
begin
Assign(F,FName);
ReWrite(F);
For i:=1 to IntNumb do
begin
W:=Random(50)+1;
Write(F,W);
end;
Close(F);
end;
Procedure WriteInt;Assembler;
asm
mov bx,Handle
mov cx,2
lea dx,W
mov ah,40h
int 21h
end;
Procedure MovePointer(Ad:LongInt);Assembler;
asm
mov ax,4200h
mov bx,Handle
mov dx,word ptr Ad
mov cx,word ptr Ad + 2
int 21h
end;
Procedure ReadInt;Assembler;
asm
mov ah,3Fh
mov bx,Handle
mov cx,2
lea dx,W
int 21h
end;
Function GetPointer:LongInt;Assembler;
asm
mov ax,4201h
xor dx,dx
mov cx,dx
mov bx,Handle
int 21h
end;
Begin
GenerateFile;
S:=FName+#0;
asm
mov ax,3D02h
lea dx,S
inc dx
int 21h
mov Handle,ax
end;
M:=0;
While M<IntNumb do
begin
ReadInt;
If not Odd(W) then
begin
W:=W*W;
K:=GetPointer;
MovePointer(K-2);
WriteInt;
end;
Inc(M);
end;
asm
mov ah,3Eh
mov bx,Handle
int 21h
end;
End.
GLuk, ты прав про единственность файла, я что-то пропустил это условие, мое решение прошу считать ошибочным.
for __Alex__ and Geroi: на форуме никаких разборок!