Форум программистов, компьютерный форум CyberForum.ru

Трехмерном пространстве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Си++ http://www.cyberforum.ru/cpp-beginners/thread72926.html
Создать шаблон Triangle (элементы - стороны треугольника). Определить конструктор и функцию вывода значения сторон. Написать программу, где определяются объект со сторонами типа int и объект со сторонами типа float и печатаются соответствующие значения. Помогите решить пожалуйста
C++ VS08 как выделять мой класс цветом? если я в vs08 в текст.редакторе ввожу к примеру INT то слово выделяется синим цветом,а есть ли там такая функция что и мой класс\функция выделялась? http://www.cyberforum.ru/cpp-beginners/thread72915.html
маленькая прожка с ошибкой C++
компиляция проходит успешно, после запуска выдает ошибку (см вложение) прога открывает файл, посимвольно его читает. если символ есть в массиве al, в st счетчик увеличивается, если нет - добавляет символ и тож увеличивает счетчик. FILE *big; char s, al; int t, j, n, st; big=fopen("big.txt","r"); for(int i=0;i<55;i++) st=0; j=0; n=0; while(!feof(big)) { ...
C++ Определить является ли последовательность почти периодической
Последовательность целых чисел называется почти периодической, если среди сумм всех последовательно расположенных троек чисел имеется не более двух различных. Например, последовательность 2_8_0_7_3_5_2_8_5 является почти периодической, так как все тройки чисел 2_8_0, 8_0_7, 0_7_3, 7_3_5, 3_5_2, 5_2_8, 2_8_5 в сумме дают 10 или 15. Дана последовательность целых чисел. Определить является ли...
C++ Функция strtok_s http://www.cyberforum.ru/cpp-beginners/thread72895.html
Можно ли как-нибудь изменить функцию strtok_s что бы она не только разбивала строку на слова, но и еще выводила тот разделитель по которому разделяются слова? Например строка: Слово, слово "слово" слово? Нужно вывести вот так: Слово , слово " слово " слово
C++ Циклы Локальными максимумами последовательности чисел называются все числа, которые больше соседних. Например, в последовательности 6 2 1 3 5 4, локальными максимумами являются числа 6 и 5. Со стандартного потока ввода поступает последовательность натуральных чисел. Последнее число в последовательности— 0. Программа должна вывести в стандартный поток вывода значение минимального локального... подробнее

Показать сообщение отдельно
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
11.12.2009, 01:10     Трехмерном пространстве
Как(кем, откуда) задаётся множество А1?

Добавлено через 33 минуты
пусть нами и рандомайзом..
решение "в лоб"
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<iostream>
#define MAXPV 100
//MAXPV - Максимальная удалённость точки от начала координат(для генерации)
#define MAXP 10
//MAXP - максимальное количество точек во множестве(для генерации)
 
 
double rpv() {return ((rand()%(2*MAXPV))-MAXPV);}
// Для генерации случайных координат для точек
 
 
struct points
{
    double x,y,z;       //координаты точки
    points* distant;    //указатель на наиболее удалённую точку.
    double distance;    // и квадрат расстояния до неё.
    points(double x,double y,double z):x(x),y(y),z(z)
        {distant=this; distance = 0;}
};
 
double d(points* p1,points* p2)// возвращает квадрат расстояния между двумя точками
{
    return (p1->x - p2->x)*(p1->x - p2->x)+(p1->y - p2->y)*(p1->y - p2->y)+(p1->z - p2->z)*(p1->z - p2->z);
}
int main()
{
    // поскольку неизвестно откуда брать множество точек,
    // сгенерируем его "великим рандомом".
    srand ( time(NULL) );
    int dimm = rand()%MAXP+2;// количество точек (не меньше двух);
    
    points** a1 = new points*[dimm];
        for(int i=0;i<dimm;i++)
            a1[i] = new points(rpv(),rpv(),rpv());
            
 
 
    //для каждой точки множества, найдём наиболее удалённую
    for(int i=0;i<dimm;i++)
    {
        for(int j=i;j<dimm;j++)
        {
            if(a1[i]->distance<d(a1[i],a1[j]))
            {
                a1[i]->distance = d(a1[i],a1[j]);
                a1[i]->distant = a1[j];
                //Обратное тоже верно:
                a1[j]->distance = a1[i]->distance;
                a1[j]->distant = a1[i];
            }
        }
    }
    
    //среди всех пар найдем пару с наибольшим расстоянием:
    int index = 0;
    for(int i=0;i<dimm;i++)
        index = (a1[index]->distance<a1[i]->distance)?i:index;
    
/*  //Вывод точек.  
    std::cout<<dimm<<std::endl; 
    for(int i=0;i<dimm;i++)
    std::cout<<a1[i]->x<<"\t"<<a1[i]->y<<"\t"<<a1[i]->z<<std::endl;
*/
    //Вывод искомой пары.
    std::cout<<"p1: ";
    std::cout<<a1[index]->x<<"\t";
    std::cout<<a1[index]->y<<"\t";
    std::cout<<a1[index]->z<<std::endl;
    std::cout<<"p2: ";
    std::cout<<a1[index]->distant->x<<"\t";
    std::cout<<a1[index]->distant->y<<"\t";
    std::cout<<a1[index]->distant->z<<std::endl;
    std::cout<<"sqare of distance = "<<d(a1[index],(a1[index]->distant));
    std::cout<<std::endl;
    system("pause");
    return 0;
}
 
Текущее время: 12:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru