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

29.12.2009, 22:54
|
|
Banned
Регистрация: 24.12.2009
Сообщений: 141
Провел на форуме: 487460
Репутация:
45
|
|
Странный код
int vvod_hand(int strok, int stolb,int massiv[50][50])
массив передается указателем(адресом на массив) .... соответственно не нужно городить а писать как ЕСТЬ
int vvod_hand(int strok, int stolb,int *massiv)
поймите прямую связь между указателем и массивом
внутри функции где я имею право использовать
massiv[i][j] дав входные параметры как указал выше .. обычно тут люди испытывают страх!!!
все это относится ко всем функциям!!!
далее везде не берется во внимание что
ИНДЕКС МАССИВА НАЧИНАЕТСЯ С 0(НУЛЯ)!!!
пример
int A[5]
возможные обращения
A[0] A[1] A[2] A[3] A[4]
обмена как такого НЕТ ВООБЩЕ !!! обмен значениями
2-х переменных осуществляются через 3-ю, исключением являеются целые числа!
вообще дагонали главная & побочная существуют только у квадратных матриц!
... поэтому пусть размер равен n , тогда перестановка...
Код:
void invert(int *massiv,int n)
{
int z;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i+j<n-2)
{
z=massiv[i][j];
massiv[i][j]=massiv[n-j-1][n-i-1];
massiv[n-j-1][n-i-1]=z;
}
}
Последний раз редактировалось Retimiled; 30.12.2009 в 04:37..
|
|
|

30.12.2009, 17:44
|
|
Новичок
Регистрация: 30.07.2009
Сообщений: 4
Провел на форуме: 35602
Репутация:
0
|
|
"Определить радиус и центр окружности минимального радиуса, проходящей хотя бы через три различные точки заданного множества точек на плоскости."
Что-то нет никаких идей..
|
|
|

30.12.2009, 18:09
|
|
Banned
Регистрация: 24.12.2009
Сообщений: 141
Провел на форуме: 487460
Репутация:
45
|
|
каждые три точки .... задают треугольник .... по сути каждая сторона треугольника это ХОРДА! А как известно перпендикуляры к хотя бы к 2-м серединам хорд дают пересечением однозначно центр окружности! Радиус получаешь по 2-м точкам центру окружности и любой из 3-х заданных точек!
.... если
struct crd
{
int x;
int y;
};
crd mnohestvo[N];
то проход по всевозможным тройкам
Код:
float l;
for(i=0;i<N-3;i++)
for(j=i+1;j<N-2;j++)
for(k=j+1;k<N;k++)
if(min>(l=raschet(i,j,k)))
min=l;
расчет середины хорды
Код:
void find_sered(crd *first,crd *second,crd *sered)
{
sered->x=(first->x+second->x)/2;
sered->y=(first->y+second->y)/2;
}
уравнение прямой проходящей через 2 точки
y = kx + b — уравнение прямой, проходящей через точки A и B, где
k = (yB — yA) / (xB — xA)
уравнение перпендикуляра проходящего к отрезку AB
и проходящему через точку С
y = -(1/k)x + (Yc + (1/k)Xc)
и наконец нахождение центра
который равен решению системы 2-х уравнений
y = -(1/k)x + (Yc + (1/k)Xc) для 1-й и 2-й точек
и такому же для 2-й и 3-й точек.
Последний раз редактировалось Retimiled; 30.12.2009 в 18:43..
|
|
|

30.12.2009, 18:52
|
|
Новичок
Регистрация: 28.12.2009
Сообщений: 7
Провел на форуме: 119162
Репутация:
0
|
|
А не проще через радиус описанного круга R=abc/(4S), где a,b,с длинна сторон треугольника, а S его площадь. Площадь найти по формуле Герона, а длину сторон как корень из((x2-x1)квадрат + (y2-y1)квадрат) где х2 и y2 координаты конца отрезка, а х1 и y1 координаты начала отрезка. (Сори не знаю как корень и квадрат поставить).
|
|
|

30.12.2009, 18:54
|
|
Banned
Регистрация: 24.12.2009
Сообщений: 141
Провел на форуме: 487460
Репутация:
45
|
|
2 lokli маладес .... твое решение проще намного!
|
|
|

30.12.2009, 23:39
|
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от lokli
А не проще через радиус описанного круга R=abc/(4S), где a,b,с длинна сторон треугольника, а S его площадь. Площадь найти по формуле Герона, а длину сторон как корень из((x2-x1)квадрат + (y2-y1)квадрат) где х2 и y2 координаты конца отрезка, а х1 и y1 координаты начала отрезка. (Сори не знаю как корень и квадрат поставить).
Да, хорошее решение. Однако стоит заметить, что число всевозможных треугольников на n точках равно примерно n^3. Что может стать проблемой при больших n. Поэтому для решения подобных задач используется триангуляция, с быстродействием O(n log n). Но это выходит конечно за рамки лаб 
|
|
|

31.12.2009, 22:46
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
Народ,помогите плиз.Надо написать прогу на паскале.Движение математического маятника,угол отклонения задается вручную.Заранее спасибо 
|
|
|

01.01.2010, 16:24
|
|
Новичок
Регистрация: 16.11.2008
Сообщений: 27
Провел на форуме: 104236
Репутация:
6
|
|
тебе нужна графическая имитация движения?объясни суть задания
|
|
|

01.01.2010, 18:16
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
Да,именно графически.Просто требуется прога при включении которой от пользователя требовалось бы ввести только начальный угол отклонения маятника.После ввода пользователем размера угла на экран бы выводился сам маятник,движущийся бесконечно,точнее до тех пор пока пользователь сам не остановит программу
|
|
|

01.01.2010, 19:58
|
|
Познающий
Регистрация: 28.09.2008
Сообщений: 65
Провел на форуме: 152084
Репутация:
8
|
|
Сообщение от qwert135
Да,именно графически.Просто требуется прога при включении которой от пользователя требовалось бы ввести только начальный угол отклонения маятника.После ввода пользователем размера угла на экран бы выводился сам маятник,движущийся бесконечно,точнее до тех пор пока пользователь сам не остановит программу
эм по какой формуле то расчёт движения должен идти?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|