ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

23.05.2009, 00:42
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
Код:
program Project1;
uses Windows;
begin
CopyFile(pchar(paramstr(0)), pchar('C:\virus.exe'),true);
end.

|
|
|

23.05.2009, 18:47
|
|
Новичок
Регистрация: 15.05.2009
Сообщений: 11
Провел на форуме: 7498
Репутация:
0
|
|
Определить, является ли заданная строка "правильной записью целого числа" (возможно со знаком). Нужна рекурсивная функция с такими параметрами:
function IsCorrectIntegerValue(val:string):boolean
Пытаюсь сделать рекурсию - не работает. Вот код без рекурсии:
uses crt;
function IsCorrectIntegerValue(val:string):boolean;
var k:byte;
begin
k:=1;
IsCorrectIntegerValue:=true;
while k<=length(val) do
begin
if not(val[1] in ['-','0'..'9'])
or((val[1]='-')and not(val[2] in ['1'..'9']))
or((val[1] in ['0'..'9'])and not(val[k] in ['0'..'9'])) then
begin
IsCorrectIntegerValue:=false;
break;
end
else
k:=k+1;
end;
end;
var s:string;
begin
clrscr;
writeln('Введите число:');
readln(s);
if IsCorrectIntegerValue(s) then writeln('Является!')
else writeln ('Не является!');
readln;
end.
|
|
|

23.05.2009, 18:51
|
|
Новичок
Регистрация: 15.05.2009
Сообщений: 11
Провел на форуме: 7498
Репутация:
0
|
|
Извиняюсь, забыл вставить в код-тег. И язык - паскаль.
|
|
|

23.05.2009, 19:28
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Собственно говоря зачем вообще рекурсивная функция?
Код:
function IsCorrectIntegerValue(val:string):boolean;
var
x:integer;
begin
result:=true;
for x:=1 to length(val) do
if s[x] in ['0'..'9']=false then
begin
if (x=1) and (s[x]='-') then continue;
result:=false;
break;
end;
end;
P.S. сделать данную функцию рекурсивной - это самоубийство. А итоге у тебя проверка будет занимать ооочень много времени. Потмоу что будут лишние проверки одного и тогоже.
Последний раз редактировалось slesh; 23.05.2009 в 19:34..
|
|
|

23.05.2009, 21:08
|
|
Новичок
Регистрация: 15.05.2009
Сообщений: 11
Провел на форуме: 7498
Репутация:
0
|
|
Задание такое - сделать функцию рекурсивной
|
|
|

23.05.2009, 22:10
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Передай своему преподу что он мудак.
Он бы еще сложение сложение сделал бы рекурсивным.
Рекурсия применяется там, где есть элемент вложенности (файлы в папках, бинарные деревья, итд) А тут одномерная задача, которая не может быть решена с помошью рекурсии. Все попытки рекурсивного построения данной функции - это уже садизм.
Вечно учат через задницу, а потом удивляются почему оно работает также (
Изврат но типа того. Я бы этому преподу высказал бы всё поп оводу его тупых заданий... собственно как и сделал со своим преподом года 4 назад ))
Код:
function IsCorrectIntegerValue(val:string):boolean;
begin
if val='' then result:=true
else
if val[1] in ['0'..'9']=false then
result:=false
else result:=IsCorrectIntegerValue(copy(val,2,length(val)-1));
end;
|
|
|

24.05.2009, 00:18
|
|
Новичок
Регистрация: 15.05.2009
Сообщений: 11
Провел на форуме: 7498
Репутация:
0
|
|
slesh
В этом и есть сущность этого препода - садизм.
А выскажу ему всё после сдачи зачета.
Спасибо за помощь 
|
|
|

24.05.2009, 14:18
|
|
Познающий
Регистрация: 24.07.2008
Сообщений: 47
Провел на форуме: 108397
Репутация:
31
|
|
Почему при нажатии на кнопку не меняется свойства MediaPlayer'a на True с False
procedure TForm1.Button4Click(Sender: TObject);
begin
MediaPlayer1.AutoOpen:=True;
end;
Заранее очень-очень благодарен 
|
|
|

24.05.2009, 18:59
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от _GlaD1aT(OR)_
Почему при нажатии на кнопку не меняется свойства MediaPlayer'a на True с False
Заранее очень-очень благодарен 
Код:
procedure TForm1.Button4Click(Sender: TObject);
begin
if MediaPlayer1.AutoOpen:=True then MediaPlayer1.AutoOpen:=false else
MediaPlayer1.AutoOpen:=True;
end;
|
|
|

24.05.2009, 19:21
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
ппц код. жжжете господа.
:= в IF - это жесть.
Не пробовали делать так?:
MediaPlayer1.AutoOpen:=not MediaPlayer1.AutoOpen;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|