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

Многоугольник в пространстве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами (программа,которая открывала бы файл и заменяла в нём комбинации 2 пробела на 1 пробел, строчные буквы после ' .' и ' ' на заглавные) http://www.cyberforum.ru/cpp-beginners/thread811594.html
Здравствуйте! Помогите пожалуйста, нужно написать программу,которая открывала бы файл и заменяла в нём комбинации 2 пробела на 1 пробел, строчные буквы после ' .' и ' ' на заглавные. Читала,что нужно использовать операцию Uppercase, но не пойму как.
C++ вывести слова - анаграммы из словаря, состоящего из пар слов(при чтении в обратном порядке образуется другое слово) Ребят, помогите пожалуйста написать прогу на С++=(в задании не было сказано что бы считывало с файла, поэтому, можно все, прямо в проге сделать)) вывести слова - анаграммы из словаря, состоящего из пар слов(при чтении в обратном порядке образуется другое слово)Например: "сев-вес","маг-гам",полк-клоп". http://www.cyberforum.ru/cpp-beginners/thread811566.html
C++ Переделать код программы для Borland++?
#include<iostream> #include<fstream> #include<string> using namespace std; void main() { int kol={0,0}, pozit=-1; string str, filename={"1.txt","2.txt","3.txt","4.txt","5.txt","6.txt","7.txt","8.txt","9.txt","10.txt",}, rezult; fstream file;
C++ работа с .txt C++
Подскажите, как в С++ открыть .txt файл и прочитать каждое слово в каждой строке. Большое спасибо!
C++ Написать программу, в которой будут объявлены структуры Points и Line http://www.cyberforum.ru/cpp-beginners/thread811531.html
1. Написать программу, в которой будут объявлены структуры Points и Line, создан динамический массив объектов Line и нарисованы все объекты, занесенные в массив
C++ Отбрасывание незначащих нулей как сделать чтобы программа отбрасывала незначащие нули после запятой в строке (string) Например вводим строку a = 156,870000000000 а на выводе получаем а = 156,87 подробнее

Показать сообщение отдельно
IrineK
Заблокирован
20.03.2013, 14:44     Многоугольник в пространстве
Прога и тестовый пример, по которому строился рисунок в MathCad
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
class Point
{   
public:
    Point() : x(0.),y(0.),z(0.) {}
    Point(const double &x, const double &y,const double &z):x(x),y(y),z(z)  {}
 
    void SetPoint(const double a, const double b,const double c)
    {   x = a; y = b; z = c;
    }
 
    const double X() const { return x; }
    const double Y() const { return y; }
    const double Z() const { return z; }
 
    friend const istream& operator>>(istream& stream, Point& p)
    {   cout<<"X, Y, Z:\t";
        stream>>p.x>>p.y>>p.z;
        stream.sync();
        return stream;
    }
    
    friend const ostream& operator<<(ostream& stream,const Point& p)
    {   stream  <<setprecision(6)<<setw(15)<<p.x
                <<setprecision(6)<<setw(15)<<p.y
                <<setprecision(6)<<setw(15)<<p.z<<"\n";
        return stream;
    }
 
private:
    double x,y,z;
};
 
class Vector
{
public:
    Vector(): x(0.),y(0.),z(0.) {}
        
    Vector(const double a, const double b,const double c)
    {   x = a; y = b; z = c;
    }
    
    void SetVector(const double a, const double b,const double c)
    {   x = a; y = b; z = c;
    }
 
    const double X() const { return x; }
    const double Y() const { return y; }
    const double Z() const { return z; }
    
    const double Length()
    {   return sqrt(x*x+y*y+z*z);
    }
 
    Vector& operator = (const Vector &V)
    {   if(this == &V)
            return *this;
        x = V.X();  y = V.Y();  z = V.Z();
        return *this;
    }
 
private:
    double x,y,z;
};
 
Vector MatrixVectorProduct(double M[3][3], Vector V)
{   double VC[3], PC[3];
    VC[0] = V.X();
    VC[1] = V.Y();
    VC[2] = V.Z();
 
    for(int i=0; i<3;i++)
    {   PC[i] = 0.;
        for(int j=0;j<3;j++)
            PC[i] += M[i][j]*VC[j];
    }
 
    Vector P(PC[0],PC[1],PC[2]);
    return P;
}
 
int Bugs(double len,double r, int n)
{   if(len == 0)
    {   cout<<"A equals B. Impossible to build a vector";
        return 1;
    }
    if(r <= 0)
    {   cout<<"Improper value of R";
        return 1;
    }
    if(n <= 0)
    {   cout<<"Improper value of N";
        return 1;
    }
    return 0;
}
 
 
int main()
{   Point A,B;
    int N, i, j;
    double R, M[3][3] = {0}, p, q, r, denom;
    
    cout<<"Coordinates of A\n";
    cin>>A;
    cout<<"Coordinates of B\n";
    cin>>B;
    cout<<"Radius R:\t\t";
    cin>>R;
    cout<<"Number of sides N:\t";
    cin>>N;
 
    Vector AB(B.X()-A.X(),B.Y()-A.Y(),B.Z()-A.Z());
    
    if(Bugs(AB.Length(),R,N))
    {   cin.sync();cin.get();
        return 0;
    }
    
    Vector Normal(AB.X()/AB.Length(), AB.Y()/AB.Length(),AB.Z()/AB.Length());
 
    p = Normal.X(); q = Normal.Y(); r = Normal.Z();
    denom = sqrt(p*p+q*q);
 
    if (denom == 0)
    {   for(i=0;i<3;i++)
            M[i][i] = 1;
    }
    else
    {   M[0][0] = r*p/denom;    M[0][1] = -q/denom;     M[0][2] = p;
        M[1][0] = r*q/denom;    M[1][1] = p/denom;      M[1][2] = q;
        M[2][0] = -denom;       M[2][1] = 0.;           M[2][2] = r;
    }
    
    cout<<"\nTranformation Matrix:\n";
    for (i=0; i<3; i++)
    {   for (j=0; j<3; j++)
            cout<<setprecision(6)<<setw(15)<<M[i][j];
        cout<<"\n";
    }
 
    const double PI=asin(1.0)*2;
    double ANG = 2*PI/N;
 
    Vector *Poly0 = new Vector[N];
    Vector *Poly = new Vector[N];
    for (i=0; i<N; i++)
    {   Poly0[i].SetVector(R*cos(ANG*i),R*sin(ANG*i),0);
        Poly[i] = MatrixVectorProduct(M,Poly0[i]);
    }
    
    cout<<"\n\nCoordinates of Points in Polygon:\n";
    Point *Result = new Point[N];
    for (i=0; i<N; i++)
    {   Result[i].SetPoint(Poly[i].X()+A.X(),Poly[i].Y()+A.Y(),Poly[i].Z()+A.Z());
        cout<<Result[i];
    }
 
    delete []Result;
    delete []Poly;
    delete []Poly0;
 
    cin.sync();cin.get();
    return 0;
}
Миниатюры
Многоугольник в пространстве  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru