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

07.09.2009, 22:22
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
Не получается ниче =(
Что то типо того должно быть:
Код:
program point;
var
N,R,PRE,x,y:LongInt;
f1,f2:text;
begin
assign(f1,'input.txt');
assign(f2,'output.txt');
reset(f1);
rewrite(f2);
{read(f1,R);}
readln(r);
if R>7 then begin
PRE:=(R*2-4)*(R*2-4);
for x :=-r to -r+4 do begin
for y :=-r to -r+2 do begin
if (x*x+y*y) <= r*r then N:=N+1;
end;
end;
writeln(f2,N*4+1);
writeln('pre = ',pre);
writeln('N= ',N);
writeln(PRE+N*4+4);
end
else
begin
for x :=-r to 0 do begin
for y :=-r to -1 do begin
if (x*x+y*y) <= r*r then N:=N+1;
end;
end;
writeln(f2,N*4+1);
writeln('N= ',N*4+1);
end;
close(f2);
close(f1);
readln;
end.
Смысл в том, чтобы для больших чисел просчитать квадрат который точно можно вычислить, а остатки уже считать в цикле.
|
|
|

07.09.2009, 22:50
|
|
Познающий
Регистрация: 23.08.2009
Сообщений: 47
Провел на форуме: 63389
Репутация:
1
|
|
Так еще хуже - (30%)
|
|
|

07.09.2009, 23:36
|
|
Участник форума
Регистрация: 29.08.2008
Сообщений: 151
Провел на форуме: 1551582
Репутация:
107
|
|
Попробуй этот алгоритм:
Код:
k := 0;
for i := -R to R do
for j := -R to R do
if (i*i+j*j) <= Sqr(R) then k := K+1;
R- радиус
K - количество точек
Итог:
R=2 K=13
R=3 K=29
R=4 K=49
R=5 K=81
|
|
|

07.09.2009, 23:57
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
ты хотя бы смотрел что выше было написано? надо чтобы код выполнялся быстрей, а еще лучше вывести формулу. Сравни мой код:
Код:
for x :=-r to 0 do begin
for y :=-r to -1 do begin
if (x*x+y*y) <= r*r then N:=N+1;
end;
end;
и твой
мой просчитав 1 координатную четверть умножит его на 4 и прибавит 1, а твой будет просчитывать оставшиеся 3. По - моему без комментариев. Если на больших числах мой код не успевает выполнится, то твой сядет в лужу еще раньше.
Проблема кода из поста N 14 в том что там я использую integer, и длины диапазона не хватает, настолько большие числа получаются, если заменить на LongInt, то он будет просчитывать верно, но это будет занимать существенное время и вряд ли код успел бы выполниться за отведенный промежуток времени.
Прошел день, формулу я вывести так и не смог. Может быть позже вернусь к этому, так как задача мне понравилась =)
Окончательный вариант кода совпадает с кодом который выбил 60%, лишь 1 небольшое отличие, которое я впринципе уже не однократно указывал выше - заменим тип integer на LongInt.
var
N,R,x,y:LongInt;
Последний раз редактировалось Dosia; 08.09.2009 в 19:39..
|
|
|

08.09.2009, 21:07
|
|
Познающий
Регистрация: 23.08.2009
Сообщений: 47
Провел на форуме: 63389
Репутация:
1
|
|
Ты гений!
Спасибо тебе!
|
|
|

10.09.2009, 13:07
|
|
Участник форума
Регистрация: 15.12.2006
Сообщений: 212
Провел на форуме: 587761
Репутация:
144
|
|
Господа, нужна помощь... C++
Вообще не понимаю тему "Динамические структуры данных"
В составе программы описать функцию, которая объединяет два упорядоченных по невозрастанию списка в один упорядоченный по невозрастанию список.
Последний раз редактировалось Validol; 10.09.2009 в 13:16..
|
|
|

10.09.2009, 13:26
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
(что именно непонятно? конкретные вопросы?)
edit:не заметил вопроса
вот первое, что выдал google: klick
всё прекрасно разъяснено.
Последний раз редактировалось BrainDeaD; 10.09.2009 в 13:30..
|
|
|

10.09.2009, 15:01
|
|
Участник форума
Регистрация: 15.12.2006
Сообщений: 212
Провел на форуме: 587761
Репутация:
144
|
|
Сообщение от BrainDeaD
(что именно непонятно? конкретные вопросы?)
edit:не заметил вопроса
вот первое, что выдал google: klick
всё прекрасно разъяснено.
Алгоритм программы я построил в принципе. По идее необходимо ввести с клавиатуры 1 строчку с вещественными числами. Затем вторую. Потом отсортировать первую строчку по убыванию. Затем вторую. Потом объединить их в одну и упорядочить по убыванию. Как объединять их в одну? Мне код на C++ нужен. А лучше пример программы, чтобы хоть как-то разобраться.
Код:
#include "SPIS.CPP" // Где начало программы?
void main()
{Zveno *S1, *S2, *S3, *V1, *V2, *V3; // Что это такое?
BT a; int i, n; // Что такое ВТ?
clrscr(); // Я так понимаю, это очистка экрана. Зачем?
randomize(); // Рандомайз чего?
S1=NULL;
// создаём первый элемент
a=-100+random(201);
S1=V_Nachalo(S1, a);
n=1+random(20);
// формируем список произвольной длины и выводим на печать
V1=S1;
for (i=2; i<=n; i++)
{
a=-100+random(201);
V1=V_Spisok(V1, a);
}
Print(S1);
V1 = S1; S2 = NULL; S3 = NULL;
while (V1)
{if (V1->Inf > 0)
if (!S2)
{S2=V_Nachalo(S2, V1->Inf); V2 = S2;}
else {V_Spisok(V2, V1->Inf); V2 = V2->Next;};
if (V1->Inf < 0)
if (!S3)
{S3=V_Nachalo(S3, V1->Inf); V3 = S3;}
else {V_Spisok(V3, V1->Inf); V3 = V3->Next;};
V1= V1->Next;}
cout << "Результирующий список из положительных элементов: \n";
Print(S2);
cout << "Результирующий список из отрицательных элементов: \n";
Print(S3);
S1=Ochistka(S1); S2=Ochistka(S2); S3=Ochistka(S3);
}
Если я правильно понял - взят тупо кусок программы и выкинут на обозрение. Есть проггеры, которые более менее могут написать программу, которая указана на предыдущей странице и объяснить комментариями?
Последний раз редактировалось Validol; 10.09.2009 в 15:06..
|
|
|

10.09.2009, 22:41
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
да, с такой аватарой самое то скромно просить поработать за тебя.
|
|
|

11.09.2009, 17:40
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
Сообщение от -slim-
Delphi
1. Задане дійсне число А. Знайти суму елементів матриці (4х3), які менше А .
2. Судно: водотоннажність, вантажопідйомність, кількість палуб. Критерій: кількість палуб >1.
3. Прямокутний ящик заповнен циліндричними цвяхами. Визначити відсоток заповнення ящику металом. Для спрощення задачі рахувати, що цвяхи не мають гострого кінця та шляпки.
4. Судно: водотоннажність, вантажопідйомність, кількість палуб. Критерій: кількість палуб >1.
Мог бы и потрудится перевести, форум-то русский!
А вовторых ты что, думаешь тебе уже готовое кто-то напишет? Покажи, что ты пробовал и что не получается.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|