ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1671  
Старый 07.09.2009, 22:22
Dosia
Участник форума
Регистрация: 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.
Смысл в том, чтобы для больших чисел просчитать квадрат который точно можно вычислить, а остатки уже считать в цикле.
 
Ответить с цитированием

  #1672  
Старый 07.09.2009, 22:50
Fantom3D
Познающий
Регистрация: 23.08.2009
Сообщений: 47
Провел на форуме:
63389

Репутация: 1
Отправить сообщение для Fantom3D с помощью ICQ
По умолчанию

Так еще хуже - (30%)
 
Ответить с цитированием

  #1673  
Старый 07.09.2009, 23:36
ZdezBilYa
Участник форума
Регистрация: 29.08.2008
Сообщений: 151
Провел на форуме:
1551582

Репутация: 107
Отправить сообщение для ZdezBilYa с помощью ICQ
По умолчанию

Попробуй этот алгоритм:

Код:
 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
 
Ответить с цитированием

  #1674  
Старый 07.09.2009, 23:57
Dosia
Участник форума
Регистрация: 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..
 
Ответить с цитированием

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

Репутация: 1
Отправить сообщение для Fantom3D с помощью ICQ
По умолчанию

Ты гений!


Спасибо тебе!
 
Ответить с цитированием

  #1676  
Старый 10.09.2009, 13:07
Validol
Участник форума
Регистрация: 15.12.2006
Сообщений: 212
Провел на форуме:
587761

Репутация: 144
По умолчанию

Господа, нужна помощь... C++
Вообще не понимаю тему "Динамические структуры данных"
Цитата:
В составе программы описать функцию, которая объединяет два упорядоченных по невозрастанию списка в один упорядоченный по невозрастанию список.

Последний раз редактировалось Validol; 10.09.2009 в 13:16..
 
Ответить с цитированием

  #1677  
Старый 10.09.2009, 13:26
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме:
3516666

Репутация: 439


По умолчанию

(что именно непонятно? конкретные вопросы?)
edit:не заметил вопроса

вот первое, что выдал google: klick
всё прекрасно разъяснено.

Последний раз редактировалось BrainDeaD; 10.09.2009 в 13:30..
 
Ответить с цитированием

  #1678  
Старый 10.09.2009, 15:01
Validol
Участник форума
Регистрация: 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..
 
Ответить с цитированием

  #1679  
Старый 10.09.2009, 22:41
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

да, с такой аватарой самое то скромно просить поработать за тебя.
 
Ответить с цитированием

  #1680  
Старый 11.09.2009, 17:40
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме:
724939

Репутация: 108
Отправить сообщение для =Zeus= с помощью ICQ
По умолчанию

Цитата:
Сообщение от -slim-  
Delphi

1. Задане дійсне число А. Знайти суму елементів матриці (4х3), які менше А .


2. Судно: водотоннажність, вантажопідйомність, кількість палуб. Критерій: кількість палуб >1.

3. Прямокутний ящик заповнен циліндричними цвяхами. Визначити відсоток заповнення ящику металом. Для спрощення задачі рахувати, що цвяхи не мають гострого кінця та шляпки.

4. Судно: водотоннажність, вантажопідйомність, кількість палуб. Критерій: кількість палуб >1.
Мог бы и потрудится перевести, форум-то русский!
А вовторых ты что, думаешь тебе уже готовое кто-то напишет? Покажи, что ты пробовал и что не получается.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ