Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 123

немного графики+векторы. по смыслу понимаю, а как реализовать - запуталась

03.03.2013, 21:43. Показов 1374. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заданы окружность(положением центра и радиусом), треугольник (координатами трех вершин), квадрат (координатами четырех вершин). Определить – можно ли расположить треугольник или четырехугольник внутри окружности.

для ввода координат - вывода окружности,треугольника, четырехугольника на экран программку сделала.. воть если надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <graphics.h> // vkljy4it' opisanie grafi4eskich fynkcij Ñ/Ñ++ Borland'a
#include<stdio.h>
#include <conio.h>      // opisanie fynkcii vvoda-vivoda s konsoli(dlja getch())
#include <math.h> 
 
int a,b,c;
int okr()
{printf("vvedite koordinati centra i radius okru*nosti: x=");
 scanf("%d%d%d",&a, &b, &c);  
 printf("\n");
 circle(a,b,c);
}
int vvod_4ygol()
{int a1,a2,b1,b2,c1,c2,d1,d2;
printf("vvedite koordinati vershin 4etirexygol'nika:\n");
printf("a=");
 scanf("%d%d",&a1, &a2);   printf("\n");
printf("b=");
 scanf("%d%d",&b1, &b2);   printf("\n"); 
 printf("c=");
 scanf("%d%d",&c1, &c2);   printf("\n");
 printf("d=");
 scanf("%d%d",&d1, &d2);   printf("\n");
moveto(a1,a2);
lineto(b1,b2);
lineto(c1,c2);
lineto(d1,d2);
lineto(a1,a2);
}
 
int treyg()
{int x1,x2,x3,y1,y2,y3;
 
printf("vvedite koordinati vershin treygol'nika:\n");
printf("x=");
 scanf("%d%d",&x1, &y1);   printf("\n");
printf("y=");
 scanf("%d%d",&x2, &y2);   printf("\n"); 
 printf("z=");
 scanf("%d%d",&x3, &y3);   printf("\n");
 
moveto(x1,y1);
lineto(x2,y2);
lineto(x3,y3);//risuet linii - storoni treygol'nika
lineto(x1,y1);
 
}
int main ()
{
  int gdriver = DETECT, gmode;
  initgraph(&gdriver, &gmode, "");      
  setbkcolor(2);                                      
  setcolor(5);
  okr();
  vvod_4ygol();
  treyg();
  getch();                 
  closegraph();        
  return 0;
}
а как проверить на возможность расположения внутри окружности - запуталась..


дословно преподша сказала, что если расстояние от центра окружности для всех вершин меньше радиуса, то четырехугольник или треугольник лежит внутри окружности.Расстояние определяется по теореме Пифагора.
понимаю что используется векторная алгебра..но..
что к чему приравнивать - не знаюне соображу
дайте подсказочку..или формулу..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.03.2013, 21:43
Ответы с готовыми решениями:

Немного не понимаю как правильно сделать наследование
Вот например, есть структура Point(точка). Если надо сделать структуру Round(круг), то в этом случае надо наследовать Point потому что у...

Не понимаю немного как должна выполнятся задачка формирования массива корней трехчленов
Тема: Структуры. Защита от ошибок. Задан массив квадратных трехчленов, где каждый трехчлен имеет комплексные коэффициенты....

Немного не понимаю задание
Реализовать программу монитор, отслеживающую состояние заданного при запуске каталога и выполняющего над новыми файлами некие действия....

8
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
04.03.2013, 00:37
Цитата Сообщение от Милашечка Посмотреть сообщение
дословно преподша сказала, что если расстояние от центра окружности для всех вершин меньше радиуса, то четырехугольник или треугольник лежит внутри окружности.Расстояние определяется по теореме Пифагора.
понимаю что используется векторная алгебра..но..
Можно и без векторной алгебры. Преподаватель сказала правильно и это значит, что координаты центра окружности Вам не нужны.
Радиус описанной вокруг прямоугольника - половина диагонали, по т. Пифагора R=Sqrt(a^2 + b^2)/2
Радиус описанной вокруг треугольника R=a/(2SinA) = b/(2SinB) = c/(2SinC), где пары вроде a B - сторона и противолежащий угол.
Угол можно отыскать вспомнив что площадь S=abSinC
С - угол между a и b
и
S=Sqrt(p(p-a)(p-b)(p-c))
то есть SinC=S/ab
где p - полупериметр треугольника
Длина любого отрезка с концами M1(x1,y1) и M2(x2,y2) равна по той же т. Пифагора:
|M1 M2| = Sqrt((x2 - x1)^2 + (y2 - y1)^2)
1
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 123
04.03.2013, 13:21  [ТС]
то есть если я правильно поняла,необходимы просто условия для существования описанной окружности вокруг треугольника и четырехугольника. и сравнить эти условия с существующим(введенным для данной окружности). если они меньше или равны с данным радиусом - то треугольник и четырехугольник можно вписать в данную окружность. правильно??
и мне больше нравится формула нахождения радиуса описанной окружности для треугольника R=abc/4S,где
Цитата Сообщение от IGPIGP Посмотреть сообщение
S=Sqrt(p(p-a)(p-b)(p-c))
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
04.03.2013, 13:53
Цитата Сообщение от Милашечка Посмотреть сообщение
то есть если я правильно поняла,необходимы просто условия для существования описанной окружности вокруг треугольника и четырехугольника. и сравнить эти условия с существующим(введенным для данной окружности). если они меньше или равны с данным радиусом - то треугольник и четырехугольник можно вписать в данную окружность. правильно??
Цитата Сообщение от Милашечка Посмотреть сообщение
и мне больше нравится формула нахождения радиуса описанной окружности для треугольника R=abc/4S,где
Милашечка, математика, такая вещь, что применимость той или иной формулы это не дело вкуса. Но если треугольник прямоугольный, то действительно, R=abc/4S. И слово прямоугольный не малая к тому причина. Не нашёл я такого слова. Хм... Сейчас пересмотрел и для четырехугольника такого слова не видно. Ушёл думать. А Вы, не томите, ведь если они оба прямоугольные, то это приятная новость. Обрадуйте, как только сможете.
0
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 123
04.03.2013, 15:17  [ТС]
Цитата Сообщение от IGPIGP Посмотреть сообщение
Обрадуйте, как только сможете.
незнаю как на счет обрадовать, но нарисовав на листе несколько разных четырехугольников , треугольников и окружностей возникла мысль что просто нужно длины сторон сравнивать с радиусом окружности.. ведь если хоть одна сторона больше радиуса - значит окружность не является описываемой вокруг например того же треугольника.. а если радиус больше - то описывает
вот и будет что
Цитата Сообщение от IGPIGP Посмотреть сообщение
расстояние от центра окружности для всех вершин меньше радиуса, то четырехугольник или треугольник лежит внутри окружности.Расстояние определяется по теореме Пифагора.
или бред рассуждаю??

Добавлено через 58 секунд
а расстояние по теореме пифагора и есть длины прямых, которые нужно посчитать
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
05.03.2013, 04:09
Милашечка, если речь не о прямоугольниках, а произвольных четырехугольниках, то задача достаточно муторная. Не сложная а нудная. Если у кого-то есть готовое решение... или пара часов. Поэтому вопрос остаётся открытым: - прямоугольники или нет?
Если нет, то решение может быть таким. Решаем для точки, отрезка, треугольника. Вырожденные случаи просты, но они понадобятся для предотвращения неприятностей в дальнейшем.
Для четырехугольника, у которого все вершины совпадают весь алгоритм состоит, например, в выводе сообщения вроде "прямоугольник - точка, может быть размещен в любой окружности".
Для отрезка легко справитесь сами.
Для треугольника (произвольного опять же), - находим точку пересечения двух серединных перпендикуляров (записываем и решаем систему 2-х линейных уравнений). Радиус - расстояние от центра до любой вершины.
Для четырехугольника есть четыре способа исключая вершину получить треугольник. Решаем задачу для каждого (см. выше) и проверяем попала ли оставшаяся точка в полученную окружность. По крайней мере в одном случае попадёт обязательно. Эта окружность и есть искомая. Все что крупнее подойдёт. И при разборе обязательно проверять на вырожденность фигур (функции обработки этих случаев же уже готовы). Что бы не попытаться решить линейно-зависимую систему, например.

Добавлено через 8 часов 58 минут
Милашечка, нашёл магическое слово в условии и это слово - квадрат! Странно, что я его не заметил. И оно единожды встречается в тексте, а далее только четырехугольник. Но если квадрат то считаем сторону, делим на корень из 2-х и сравниваем с радиусом. Всё, что написано про четырехугольники - зря.
Теперь, если окажется, что и треугольник прямоугольный, то вообще красота. Посмотрите своё задание и скажите.

Добавлено через 3 часа 30 минут
Милашечка, раз Вы не хотите признаваться прямоугольный ли или произвольный треугольник, надеюсь у Вас есть веские причины это скрывать. Вот вариант для произвольного треугольника. Графику я заремил так как не имею такой библиотеки. Я постарался не не трогать то что смог не потрогать, чтобы Вам было проще использовать имеющийся код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
//#include <graphics.h> // я на MVS и нет уменя этой библиотеки С/С++ Borland'a
#include<stdio.h>
#include <conio.h>      // opisanie fynkcii vvoda-vivoda s konsoli(dlja getch())
#include <math.h> 
void okr(int& a, int& b, int& c)
{printf("vvedite koordinati centra i radius okru*nosti: Xc, Yc, Rokr\n");
 scanf("%d %d %d", &a, &b, &c);  
 printf("\n");
 //circle(a,b,c);
}
void vvod_4ygol(int& a1, int& a2, int& b1, int& b2, int& c1, int& c2, int& d1, int& d2)
{
printf("vvedite koordinati vershin 4etirexygol'nika:\n");
printf("X1, Y1\t");
 scanf("%d%d",&a1, &a2);   printf("\n");
printf("X2, Y2\t");
 scanf("%d%d",&b1, &b2);   printf("\n"); 
 printf("X3, Y3\t");
 scanf("%d%d",&c1, &c2);   printf("\n");
 printf("X4, Y4\t");
 scanf("%d%d",&d1, &d2);   printf("\n");
/*
moveto(a1,a2);
lineto(b1,b2);
lineto(c1,c2);
lineto(d1,d2);
lineto(a1,a2);
*/
}
void treyg(int& x1,int& x2,int& x3,int& y1,int& y2,int& y3)
{
printf("vvedite koordinati vershin treygol'nika:\n");
printf("x1, y1\t");
 scanf("%d%d",&x1, &y1);   printf("\n");
printf("x2, y2\t");
 scanf("%d%d",&x2, &y2);   printf("\n"); 
 printf("x3, y3\t");
 scanf("%d%d",&x3, &y3);   printf("\n");
/* 
moveto(x1,y1);
lineto(x2,y2);
lineto(x3,y3);//risuet linii - storoni treygol'nika
lineto(x1,y1);
*/ 
}
double distansOfCoord(double X1, double Y1, double X2, double Y2){
return sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2));
}
double RadiusOpisannoy(double X41, double Y41, double X42, double Y42){//kvadrat
double R=0;
if(X41!=X42||Y41!=Y42){
R=distansOfCoord(X41,  Y41,  X42,  Y42)/sqrt(2.0);
}else{
printf("2-e vershini quadrata sovpadaut. Program aborting, HDD formating, nicht chisen!\n");
getch();
R=-1.0;
}
return R;
}
double RadiusOpisannoy(double X31, double Y31, double X32, double Y32 , double X33, double Y33){//treug
double R=0;
double a=0;
double b=0;
double c=0;
double p=0;
int well=1;
int alliswell=0;
if(X31!=X32||Y31!=Y32){
a=distansOfCoord(X31,  Y31,  X32,  Y32);
if(X32!=X33||Y32!=Y33){
b=distansOfCoord(X32,  Y32,  X33,  Y33);
if(X33!=X31||Y33!=Y31){
c=distansOfCoord(X33,  Y33,  X31,  Y31);
}else well=0;
}else well=0;
}else well=0;
if(well){
p=(a+b+c)/2.0;
R=a*b*c/(4.0 * sqrt(  p*(p-a)*(p-b)*(p-c) ) );
}else{
printf("2-e vershini treugolnika sovpadaut. Program aborting, HDD formating, nicht chisen!\n");
getch();
    R=-1.0;
}
return R;
}
int main ()
{
 // int gdriver = DETECT, gmode;
  //initgraph(&gdriver, &gmode, "");      
  //setbkcolor(2);                                      
  //setcolor(5);
int  Xc,  Yc,  R;
 okr(Xc,  Yc,  R);
 double Rokr=(double) R;
int X41, X42, X43, X44;
int Y41, Y42, Y43, Y44;
vvod_4ygol(X41, Y41, X42, Y42, X43, Y43, X44, Y44);
double Rqud=RadiusOpisannoy(X41, Y41, X42, Y42);
if(Rqud>0){
    if(Rqud<=Rokr){
printf("qudrat pomestilsya! \n");
    }else{
printf("qudrat ne pomestilsya! \n");
    }
printf("Rqud=\t");
printf("%f", Rqud);
printf("\n");
int X31, X32, X33;
int Y31, Y32, Y33;
treyg(X31, X32, X33, Y31, Y32, Y33);
double Xtr1=(double) X31;
double Xtr2=(double) X32;
double Xtr3=(double) X33;
double Ytr1=(double) Y31;
double Ytr2=(double) Y32;
double Ytr3=(double) Y33;
double Rtr=RadiusOpisannoy(Xtr1, Ytr1, Xtr2, Ytr2, Xtr3, Ytr3);
printf("Rtr=\t");
printf("%f", Rtr);
printf("\n");
if(Rtr>0){
if(Rtr<=Rokr){
printf("treugolnic pomestilsya! \n");
    }else{
printf("treugolnic ne pomestilsya! \n");
    }
}
}
  getch();                 
  //closegraph();        
  return 0;
}
1
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
05.03.2013, 12:02
я не понимаю о чем разглагольствовать, если тут тупые условия о которых написано выше,
Цитата Сообщение от Милашечка Посмотреть сообщение
дословно преподша сказала, что если расстояние от центра окружности для всех вершин меньше радиуса, то четырехугольник или треугольник лежит внутри окружности.Расстояние определяется по теореме Пифагора.
т.е проверить вершины внутри круга или нет? т.е сравнить расстояния от центра до вершины с радиусом, и вопрос о вписавыемости решен расстояние
C++
1
2
double d = sqrt((координата вершины х- координата центра х)*(координата вершины х- координата центра х)
+(координата вершины у- координата центра у)*(координата вершины у- координата центра у))
0
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 123
13.03.2013, 02:02  [ТС]
aLarman, вы правы . должно быть чтото вроде этого (только для треугольников рассматривала для начала):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <graphics.h> // vkljy4it' opisanie grafi4eskich fynkcij Ñ/Ñ++ Borland'a
#include<stdio.h>
#include <conio.h>      // opisanie fynkcii vvoda-vivoda s konsoli(dlja getch())
#include <math.h> 
 
 
int okr(int *a,int *b,int *c)
{
printf("vvedite koordinati centra i radius okru*nosti: ");
scanf("%d%d%d",&*a, &*b,&*c); printf("\n");  
 
 circle(*a,*b,*c);
}
 
 
int treyg(int *x1,int *y1,int *x2,int *y2,int *x3,int *y3)
{ 
 
printf("vvedite koordinati vershin treygol'nika:\n");
printf("x=");
 scanf("%d%d",&*x1, &*y1);   printf("\n");
printf("y=");
 scanf("%d%d",&*x2, &*y2);   printf("\n"); 
 printf("z=");
 scanf("%d%d",&*x3, &*y3);   printf("\n");
 
moveto(*x1,*y1);
lineto(*x2,*y2);
lineto(*x3,*y3);//risuet linii - storoni treygol'nika
lineto(*x1,*y1);
 
}
 
 
 
int usl_treyg()
{ 
float x1y1,x2y2,x3y3;
treyg(&xx1,&yy1,&xx2,&yy2,&xx3,&yy3);
 
 okr(&x0,&y0,&r);
 double rokr=(double) r;
 
 
x1y1=sqrt(pow(xx1-x0,2)+pow(yy1-y0,2));
x2y2=sqrt(pow(xx2-x0,2)+pow(yy2-y0,2));//dlja ka*doj vershini s4itaem rasstojanie ot centra okru*nosti
x3y3=sqrt(pow(xx3-x0,2)+pow(yy3-y0,2));
 
if (x1y1< rokr)&(x2y2<rokr)&(x3y3<rokr); // i sravnivaem s radiusom
   printf ("treygol'nik vpisuvaetsa v okru*nost'");
   else if printf("treygol'nik ne vpisuvaetsa v okru*nost'");
    
   
   } 
 
 
 
 
int main ()
{
  int gdriver = DETECT, gmode;
  initgraph(&gdriver, &gmode, "");      
  setbkcolor(2);                                      
  setcolor(5);
  okr();
  treyg();
  
  
  usl_treyg();
  
  
  
  
  getch();                 
  closegraph();        
  return 0;
}
конечно там еще много ошибок.. с функциями только учусь работать.. но смысл такой.. и для прямоугольников также..

Добавлено через 2 минуты
IGPIGP, все фигуры произвольные, так как вводя координаты для них вручную мы заранее не может угадать какой именно треугольник или четырехугольник мы получим.. а вопрос стоял именно о четырехугольниках..

спасибо за примертоже как вариант можно рассматривать в реализации данной задачки
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
13.03.2013, 02:11
Цитата Сообщение от Милашечка Посмотреть сообщение
IGPIGP, все фигуры произвольные, так как вводя координаты для них вручную мы заранее не может угадать какой именно треугольник или четырехугольник мы получим.. а вопрос стоял именно о четырехугольниках..
спасибо за примертоже как вариант можно рассматривать в реализации данной задачки
Не за что.
Что касается четырехугольника, то в тексте же сказано "квадрат" и это значит только квадрат и больше ничего кроме. Если Ваши преподаватели, признаны дееспособными.
Проверить же координаты на принадлежность квадрату и послать юзера учить справочник по квадратам, это несложно. Легче чем с произвольным четырехугольником возиться. Хотя имея модуль для произвольного треугольника, - тоже не сложно. Каждый выпуклый четырехугольник это пара непересекающихся треугольников. Нужно лишь проверить на выпуклость.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2013, 02:11
Помогаю со студенческими работами здесь

Немного не понимаю bs4
напишите пожалуйста код, чтобы стянуть текст из блока через bs4 и requests &lt;div class=&quot;child-selector&quot;&gt; &lt;div...

Немного не понимаю std::move
Здравствуйте, я немного не понимаю работу кода на 150-155 строках здесь: #include &lt;iostream&gt; #include &lt;memory&gt; ...

Немного не понимаю по теории sql
1. Какие конструкции языка Sql используются для задания правил поддержания целостности базы данных? 2. Что такое конструктор запросов в...

Дерево поиска, немного не понимаю
В универе дали задание, что-то вроде написал, но все же до конца не смог довести, разобраться не успеваю сроки горят))), разгар сессии как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru