Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

23.10.2007, 11:59
|
|
Постоянный
Регистрация: 17.07.2005
Сообщений: 475
Провел на форуме: 1665310
Репутация:
488
|
|
Прямоугольная плоскость задана координатами (x1,y1) - левая верх. точка и (x2,y2) - правая нижняя.
По границе ползет "удав" со скоростью V. Внутри области движется точка с скорость v1. Она начинает свое движение вниз от границы области на заданном расстоянии S от левого верхнего угла под углом A к нижней линии области. Точка движется, отражаясь от стенок, до тех пор пока не столкнется с "удавом". Обьекты начинают движение одновременно. При стократном столкновении программа завершает работу, оповещая пользователя.
Реализовать: Pascal
|
|
|

23.10.2007, 13:32
|
|
Участник форума
Регистрация: 30.09.2006
Сообщений: 165
Провел на форуме: 535407
Репутация:
57
|
|
Сообщение от Techno
Хм.........на счёт второго случая думал, потом перестал, ибо с вышкой не дружу(
А вот первый возможно сделать.....но у меня сейчас своего компа нет(
лень грузить студию - получи на пасе
Код:
Begin
readln(R);
x:=0;
N:=0;
(*Суммируем в первой четверти - в конце домножаем на 4 :-) *)
while x<R do begin
y:=0;
while y<=R do begin
if (sqr(R) = (sqr(x) + sqr(y))) then N:=N+1;
y:=y+1;
end;
x:=x+1;
end;
N:=N*4;
writeln(N);
end.
конечно это банальная отиска - можно еще дописать ограничения области перебора- чтобы не снуляперебирать, а начиная с некоторой точки, отстоящей от нуля. НО будет пахать и так.
Последний раз редактировалось ~Lexx~; 25.10.2007 в 15:29..
|
|
|

25.10.2007, 15:02
|
|
Новичок
Регистрация: 21.11.2006
Сообщений: 1
Провел на форуме: 12914
Репутация:
0
|
|
нужна лаба на С: Сортировка с помощью включения используя метод деления пополам,
Пирамидальная сортировка. по возрастанию.
Необходимо написать программу, которая должна:
1. Создавать не менее 3х массивов так, чтобы их длины соотносились как N, N+a, N+2a. (Например, 1000, 3000 и 5000).
Чем больше массивов вы будете рассматривать – тем лучше.
2. Каждый из массивов необходимо заполнить произвольными (случайными) значениями.
При заполнении массивов необходимо придерживаться одной тактики, поскольку способ заполнение может иметь определенное значение.
Например, можно заполнить массив из 1000 элементов случайными числами от 1 до 5 или же от 1 до 10000 – скорее всего производительность алгоритмов сортировки будет отличаться.
3. Сохранить исходные массивы в файле или файлах (в текстовом виде).
4. Для каждого из исходных массивов, а также отсортированного в прямом порядке и отсортированного в обратном порядке, каждым из предложенных методов выполнить сортировку. Необходимо вычислить число сравнений, число перемещений и время работы каждого алгоритма, в каждом случае.
5. Результаты выполнения п.4. должны выводиться на экран или сохраняться в файле в таблице (таблицах):
Число сравнений / число перемещений / время
N Способ №1 Способ №2
Исходный массив Отсортированный массив Обратно отсортированный Исходный массив Отсортированный массив Обратно отсортированный
N
N+a
N+2a
N+3a
6. Результаты сортировки исходных массивов сохранить в файле (файлах), в текстовом виде.
7. Необходимо представить результаты в виде графика (графиков)
8. Необходимо быть готовым обосновать полученные результаты
9. Любые эксперименты, усовершенствования и творческий подход будут приветствоваться!
10. Необходимо ориентироваться в исходном коде программы и быть готовым ответить на дополнительные вопросы.
11. Необходимо подготовить и представить отчет о работе. В отчете должны быть представлены краткие описания используемых алгоритмов, должно быть приведено краткое описание работы программы и анализ полученных результатов.
очсрочно!те до 23:00 26.10.2007г
сроки неожиданно продлились до 3.11. помогите плз
Последний раз редактировалось .:baclan:.; 29.10.2007 в 21:56..
|
|
|
Проблемка с Visual Basic 6.0 |

28.10.2007, 23:42
|
|
Новичок
Регистрация: 22.10.2007
Сообщений: 4
Провел на форуме: 30064
Репутация:
0
|
|
Проблемка с Visual Basic 6.0
Значить такой код на кнопочке.
Код:
Private Sub Cmd1_Click()
Dim i, j As Integer
Dim N, M As Integer
Dim Coun(), Film(), Mucs() As String
N = InputBox("Ââåäèòå êîëè÷åñòâî ñòðàí")
M = InputBox("?")
ReDim Coun(1 To N, 1 To M), Film(1 To N, 1 To M), Mucs(1 To N, 1 To M)
For i = 0 To N - 1
For j = 0 To M * 2
If j = 0 Then
Coun(i, j) = InputBox("Coun" & i)
List1(i).List(j) = Coun(i, j)
ElseIf (i / 2) - Fix(i / 2) = 0 Then
Film(i, j) = InputBox("Film" & i)
List2(i).List(j) = Film(i, j)
Else
Mucs(i, j) = InputBox("Mucs" & i)
List3(i).List(j) = Mucs(i, j)
End If
Next j
Next i
End Sub
и выдает ошибку на List1 в чем проблема?
|
|
|

30.10.2007, 01:20
|
|
Новичок
Регистрация: 27.10.2007
Сообщений: 3
Провел на форуме: 1576
Репутация:
0
|
|
Разграничегие доступа
Всех приветствую. Вопрос вот в чем: задали в универе лабу: написать программу под Win для добавления учетных записей в системе и назначения им (группам) прав. Как такое реализовывется? Где об этом почитать? Если можно, пример..
p.s. по возможности написать руткит для работы программы не с админскими правами.
|
|
|

31.10.2007, 17:05
|
|
Участник форума
Регистрация: 13.11.2005
Сообщений: 199
Провел на форуме: 824195
Репутация:
75
|
|
Многоразрядные числа представлены в виде одномерного массива. Необходимо:
- реализовать операцию возведения многозначного числа в степень;
- реализовать операцию умножения многозначного числа на многозначное число;
Неоходимо реализовать на Pascal'e.
Заранее спасибо)
|
|
|

06.11.2007, 00:08
|
|
Участник форума
Регистрация: 22.01.2007
Сообщений: 218
Провел на форуме: 1852162
Репутация:
156
|
|
http://www.kursovik.com/programming/109011.html
Расчет количества дней между датами
Программа расчитывает количество дней между двумя датами, заданных тремя чслами - год, месяц, день.
Расчет ведется по всем правилам, с учетом високосных годов.
нужен сабж на паскале (Pascal)
|
|
|

06.11.2007, 00:53
|
|
Познающий
Регистрация: 05.04.2006
Сообщений: 76
Провел на форуме: 2310584
Репутация:
73
|
|
helat
Код:
program data;
uses crt;
label escape,asd,dsa,contin;
var
m1:array[1..12] of integer;
m2:array[1..12] of integer;
a:array[1..3] of longint;
b:array[1..3] of longint;
err:boolean;
cd:char;
i:byte;
razn,d1,d2,mo1,mo2,y1,y2:longint;
begin
clrscr;
writeln('Input first date');
writeln('Day');
read(a[1]);
writeln('Month');
read(a[2]);
writeln('Year');
read(a[3]);
writeln('Input second date');
writeln('Day');
read(b[1]);
writeln('Month');
read(b[2]);
writeln('Year');
read(b[3]);
for i:=1 to 12 do
begin
if (i=1) or (i=3) or (i=5) or (i=7) or (i=8) or (i=10) or (i=12) then
begin
m1[i]:=31;
m2[i]:=31;
end
else
begin
m1[i]:=30;
m2[i]:=30;
end;
end;
if a[3]/4=int(a[3]/4) then m1[2]:=29 else m1[2]:=28;
if b[3]/4=int(b[3]/4) then m2[2]:=29 else m2[2]:=28;
clrscr;
if (a[1]<=0) or (b[1]<=0) or (a[2]<=0) or (b[2]<=0) or (a[3]<=0) or (b[3]<=0) then err:=true;
if (a[2]>12) or (b[2]>12) then err:=true;
if a[1]>m1[a[2]] then err:=true;
if b[1]>m2[b[2]] then err:=true;
if err=true then
begin
writeln('Error! Please check your data.');
goto escape;
end;
if a[3]>b[3] then
dsa:
begin
d1:=a[1];
mo1:=a[2];
y1:=a[3];
d2:=b[1];
mo2:=b[2];
y2:=b[3];
goto contin;
end;
if b[3]>a[3] then
asd:
begin
d1:=b[1];
d2:=a[1];
mo1:=b[2];
mo2:=a[2];
y1:=b[3];
y2:=a[3];
goto contin;
end;
if b[3]=a[3] then
begin
if a[2]>b[2] then goto dsa;
if b[2]>a[2] then goto asd;
if b[2]=a[2] then
begin
if a[1]>b[1] then goto dsa;
if a[1]<b[1] then goto asd;
end;
end;
contin:
razn:=0;
repeat
if y2/4=int(y2/4) then m1[2]:=29 else m1[2]:=28;
razn:=razn+1;
if (d2<=m1[mo2]) and (mo2<=12) then d2:=d2+1;
if (d2>m1[mo2]) and (mo2<12) then
begin
mo2:=mo2+1;
d2:=1;
end;
if (d2>m1[mo2]) and (mo2=12) then
begin
y2:=y2+1;
d2:=1;
mo2:=1;
end;
until (d1=d2) and (mo1=mo2) and (y1=y2);
escape:
writeln('Difference');
writeln(razn);
writeln('days');
cd:=readkey;
end.
не самая удачная реализация, но считает прально. =\
|
|
|

06.11.2007, 01:06
|
|
Участник форума
Регистрация: 22.01.2007
Сообщений: 218
Провел на форуме: 1852162
Репутация:
156
|
|
прога то считает.но очень мудрёная.
у кого что ещё есть?
мб через юлианский день высчитывать
|
|
|

06.11.2007, 05:30
|
|
Познающий
Регистрация: 25.05.2007
Сообщений: 36
Провел на форуме: 369502
Репутация:
28
|
|
когда то сам искал, нужно было помочь человеку с задачкой, вот через Юлианский день
Код:
Program Jules;
{
All of the explanation needed is the source.
"May this routine make all your code run faster"
- Programmer's Prayer
}
Type
Str3 = string[3]; {for a month name}
str9 = string[9];
Var
Date1,Date2 : string[12]; {the dates to compare}
Number_of_days : integer; {Number of days between the two dates}
Function Number_of_Month (Month : str3) : integer;
{Returns the sequential number of the month; Jan=1 & Dec = 12}
Var
Temp : integer;
Dates : string[36];
Begin
{Notice how I scan the string. Less code than a case!}
Dates := 'JanFebMarAprMayJunJulAugSepOctNovDec';
Number_of_Month := round((pos(Month,Dates)-1)/3) +1;
End;
function Since_Beginning (month,day,year : integer) : integer;
var
DayCount : integer; {Holds the number of days}
Temp : integer; {Just a temporary holding integer}
Num_Leaps : integer; {Holds the number of leap years}
Begin
Num_Leaps := 0;
DayCount := 0;
Writeln;
Writeln('Scanning ',month,'/',day,'/',year,' ...');
for Temp := 1 to year do {Gets the number of leap years}
If (temp mod 4) = 0 then Num_Leaps := Num_Leaps + 1;
Writeln('Found ',num_leaps,' leap years occuring');
DayCount := (year * 365) + Num_Leaps; {calcs year & leap year}
Writeln('Making ',abs(daycount),' days in ',year,' YEARS');
DayCount := DayCount + Day; {adds in days}
Writeln('Plus ',day,' days makes ',abs(daycount),
' days in YEAR + DAY');
For Temp := 1 to Month-1 do
{
Couldn't help but put a large case here.
The number is the number of days in that month. Feb is 28 because
the leap year counter takes the leap year into effect
}
Begin
Case Temp of
1 : DayCount := DayCount + 31; {jan}
2 : DayCount := DayCount + 28; {feb}
3 : DayCount := DayCount + 31; {mar}
4 : DayCount := DayCount + 30; {apr}
5 : DayCount := DayCount + 31; {may}
6 : DayCount := DayCount + 30; {jun}
7 : DayCount := DayCount + 31; {jul}
8 : DayCount := DayCount + 31; {aug}
9 : DayCount := DayCount + 30; {sep}
10 : DayCount := DayCount + 31; {oct}
11 : DayCount := DayCount + 30; {nov}
12 : DayCount := DayCount + 31; {dec}
end; {case of temp}
end; {for loop}
Since_Beginning := DayCount;
Writeln('Plus ',month,' months makes ',abs(daycount),
' days since 00/00/00');
end; {function SINCE_BEGINNING}
Function Days_Elapsed (date1,date2 : str9) : integer;
Var
Month1,Day1,Year1,
Month2,Day2,Year2 : integer; {sets of dates}
Temp1,Temp2 : integer; {for the VAL function}
Begin
Month1 := Number_of_Month(Copy(date1,4,3)); {gets the month number}
Month2 := Number_of_Month(Copy(date2,4,3)); {gets the month number}
Val(copy(date1,1,2),Day1,Temp2); {get everything into numerics}
Val(copy(date2,1,2),Day2,Temp2); { " " " " }
Val(copy(date1,8,2),year1,temp2); { " " " " }
Val(copy(date2,8,2),year2,temp2); { " " " " }
Val(copy(date1,8,2),year1,temp2); { " " " " }
Val(copy(date2,8,2),year2,temp2); { " " " " }
Days_Elapsed := Since_Beginning(month2,day2,year2) -
Since_Beginning(month1,day1,year1);
{The difference of the two numbers}
end;
Begin {Main}
Date1 := '27 Jan 64'; {My birthday}
Date2 := '20 Nov 85'; {When I last edited this program}
ClrScr; {If you want originality, call an author...}
Writeln('JULES - Finds the number of days between two dates ',
'using a JULIAN manner.');
Writeln('Author - David Strickler');
Writeln('Address - FIDO 101/45 [Midnight DEC]');
Writeln;
Writeln('This program shows a pretty good way to find the number');
Writeln('of days between two dates. It is reasonably fast and');
Writeln('has a mininum of source code to it. Please use it as');
Writeln('you wish. The only right I claim, is that is it officialy');
Writeln('in the Public Domain.');
Writeln;
{Call the main function. Very neat & clean. Two in, one out}
Number_of_Days := Days_Elapsed(date1,date2);
Writeln('Number of days between ',date1,' and ',date2,' is ',
Number_of_days);
End.
http://pascal.sources.ru/datetime/jules.htm
Плюс ко всему прочему большой набор исходников для работы с Date на Pascal
http://pascal.sources.ru/datetime/index.htm
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|