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

Программа CUBE - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ запись в файл. не создается файл http://www.cyberforum.ru/cpp-beginners/thread830817.html
#include <graphics.h> // vkljy4it' opisanie grafi4eskix fynkcij Ñ/Ñ++ Borland'ah #include<stdio.h> #include <conio.h> // opisanie fynkcij vvoda-vivoda s konsoli(dlja getch()) #include <math.h> // opisanie matemati4eskix fynkcij (dlja sin) #include<stdlib.h> #include <fstream>//rabota s failami int koordinatnie_osi() {cleardevice(); setbkcolor(0); line(0,5,640,5);...
C++ Работа с массивами, замена элементов массива День добрый Товарищи. Взялся на днях за задачу, но в процессе реализации уперся в стену (что именно - укажу ниже). Собственно текст задачи. Дан одномерный целочисленный массив из N элементов, заданных случайными числами на промежутке #include <iostream> #include <math.h> #include <stdlib.h> using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread830813.html
программирование msp430 C++
Не могу сделать так что бы счётчик от одной и той же кнопки запускался и снова останавливался... вот код с двумя кнопками через прерывание. подскажите пожалуйста.. пробывал просто по прерывании инвертировать состояние битов счётчика но не помогло он останавливаеться а запуститься вновь не может. #include <msp430.h> #pragma vector=PORT2_VECTOR //включения прерываний глобальное __interrupt...
Си! Поменять местами элементы квадратного массива C++
Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя 1 и 2 ее блоки : http://www.cyberforum.ru/attachment.php?attachmentid=253371&d=1365345051
C++ Помочь доделать программу (найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M) http://www.cyberforum.ru/cpp-beginners/thread830789.html
Здравствуйте, дорогие форумчане. ----------------------------------- Мне нужна ваша помощь. Вот, собственно, задание: Для всех натуральных чисел, не превосходящих заданного числа N, найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M. ----------------------------------- Вот моя программа: #include <iostream> #include <conio.h> #include <math.h>
C++ Указатели на функции. Вычислить. помогите пожалуйста написать код сделать через Указатели на функции:cry:я вообше не понимаю как это делать . \sum_{i=1}^{100}\sum_{j=1}^{50}\frac{1}{i+j^2}? Добавлено через 1 минуту \sum_{i=1}^{100}\sum_{j=1}^{60}sin{\left(i^3+j^4 \right)} подробнее

Показать сообщение отдельно
IrineK
Заблокирован
08.04.2013, 23:57     Программа CUBE

Не по теме:

Куме, а що то в вас, сало?
А можна подивиться?



Добавлено через 5 минут
Вот основная функция:
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
double squaredDistance(Cube &Cube, Point &A, Point &B)
    {   double X1 = A.getX(), Y1 = A.getY(), Z1 = A.getZ();
        double X2 = B.getX(), Y2 = B.getY(), Z2 = B.getZ();
        double s = Cube.getSide();
 
        int surf1 = Cube.getSurface(A);
        int surf2 = Cube.getSurface(B);
 
        if(surf1 == -1 || surf2 == -1)
            return -1;  //wrong point coords
        
//1) points belong to the same surface-------------------------------------
        if(surf1 == surf2)
            return (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2) + (Z1-Z2)*(Z1-Z2);
 
//2) points belong to different surfaces------------------------------------
        //first of all, let's sort surface numbers (1-3 or 3-1) -> just 1-3
        if(surf1>surf2)
        {   int temp = surf1; surf1=surf2; surf2 = temp;
            Point cur = A; A = B; B = cur;
        }
 
    //2.1) points belong to the opposite surfaces (3 variants x 4 ways)----
        double d1,d2,d3,d4;
        //(0-5) in surface XoY(0)
        if(surf1 == 0 && surf2 == 5)
        {   X1 = A.getX();  Y1 = A.getY();
            //way 0-2-5
            X2 = B.getX();
            Y2 = 3*s - B.getY();
            d1 = (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2);
            //way 0-3-5
            X2 = B.getX() - 2*s;
            Y2 = B.getY();
            d2 = (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2);
            //way 0-4-5
            X2 = B.getX();
            Y2 = -s - B.getY();
            d3 = (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2);
            //way 0-1-5
            X2 = 2*s - B.getX();
            Y2 = B.getY();
            d4 = (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2);
            return minD(d1,d2,d3,d4);
        }
 
        //(1-3) in surface YoZ(3)
        if(surf1 == 1 && surf2 == 3)
        {   Y2 = B.getY(); Z2 = B.getZ();
            //way 1-0-3
            Y1 = A.getY();
            Z1 = -s- A.getZ();
            d1 = (Y1-Y2)*(Y1-Y2) + (Z1-Z2)*(Z1-Z2);
            //way 1-2-3
            Y1 = 3*s - A.getY();
            Z1 = A.getZ();
            d2 = (Y1-Y2)*(Y1-Y2) + (Z1-Z2)*(Z1-Z2);
            //way 1-5-3
            Y1 = A.getY();
            Z1 = 3*s - A.getZ();
            d3 = (Y1-Y2)*(Y1-Y2) + (Z1-Z2)*(Z1-Z2);
            //way 1-4-3
            Y1 = -s-A.getY();
            Z1 = A.getZ();
            d4 = (Y1-Y2)*(Y1-Y2) + (Z1-Z2)*(Z1-Z2);
            return minD(d1,d2,d3,d4);
        }
 
        //(2-4) in surface XoZ (4)
        if(surf1 == 2 && surf2 == 4)
        {   X2 = B.getX(); Z2 = B.getZ();
            //way 2-1-4
            X1 = 3*s - A.getX();
            Z1 = A.getZ();
            d1 = (X1-X2)*(X1-X2) + (Z1-Z2)*(Z1-Z2);
            //way 2-3-4
            X1 = -s-A.getX();
            Z1 = A.getZ();
            d2 = (X1-X2)*(X1-X2) + (Z1-Z2)*(Z1-Z2);
            //way 2-5-4
            X1 = A.getX();
            Z1 = 3*s-A.getZ();
            d3 = (X1-X2)*(X1-X2) + (Z1-Z2)*(Z1-Z2);
            //way 2-0-4
            X1 = A.getX();
            Z1 = -s-A.getZ();
            d4 = (X1-X2)*(X1-X2) + (Z1-Z2)*(Z1-Z2);
            return minD(d1,d2,d3,d4);
        }
 
    //2.2) points belong to the adjacent surfaces (12 variants)----------------
        //2.2.1) in projection - with the same X
        //Z does not change, only Y,  edges || Z
    if((surf1 == 1 && surf2 == 2) || (surf1 == 2 && surf2 == 3) || (surf1 == 3 && surf2 == 4) || (surf1 == 1 && surf2 == 4))
    {   Z1 = A.getZ();  Z2 = B.getZ();
        if(surf1 == 1 && surf2 == 2)
        {   Y1 = A.getY();      Y2 = 2*s - B.getX();    }
        if(surf1 == 2 && surf2 == 3)
        {   Y1 = s+ A.getX();   Y2 = B.getY();          }
        if(surf1 == 3 && surf2 == 4)
        {   Y1 = A.getY();      Y2 = -B.getX();         }
        if(surf1 == 1 && surf2 == 4)
        {   Y1 = A.getY();      Y2 = B.getX() - s;      }
        return (Y1-Y2)*(Y1-Y2) + (Z1-Z2)*(Z1-Z2);
    }
 
        //2.2.2) in projection - with the same Y
        //X does not change, only Z,  edges || X
    if((surf1 == 0 && surf2 == 2) || (surf1 == 2 && surf2 == 5) || (surf1 == 0 && surf2 == 4) || (surf1 == 4 && surf2 == 5))
    {   X1 = A.getX();  X2 = B.getX();
        if(surf1 == 0 && surf2 == 2)
        {   Z1 = A.getY() -s;   Z2 = B.getZ();          }
        if(surf1 == 2 && surf2 == 5)
        {   Z1 = A.getZ();      Z2 = 2*s - B.getY();    }
        if(surf1 == 0 && surf2 == 4)
        {   Z1 = -A.getY();     Z2 = B.getZ();          }
        if(surf1 == 4 && surf2 == 5)
        {   Z1 = A.getZ();      Z2 = s + B.getY();      }
        return (X1-X2)*(X1-X2) + (Z1-Z2)*(Z1-Z2);
    }
 
        //2.2.3) in projection - with the same Z
        //Y does not change, only X,  edges || Y
    if((surf1 == 0 && surf2 == 1) || (surf1 == 0 && surf2 == 5) || (surf1 == 3 && surf2 == 5) || (surf1 == 0 && surf2 == 3))
    {   Y1 = A.getY();  Y2 = B.getY();
        if(surf1 == 0 && surf2 == 1)
        {   X1 = A.getX();              X2 = s + B.getZ();  }
        if(surf1 == 0 && surf2 == 5)
        {   X1 = 2*s - A.getZ();        X2 = B.getX();      }
        if(surf1 == 3 && surf2 == 5)
        {   X1 = A.getZ() - s;          X2 = B.getX();      }
        if(surf1 == 0 && surf2 == 3)
        {   X1 = A.getX();              X2 = -B.getZ();     }
        return (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2);
    }
        return -1;//default
    }
 
Текущее время: 16:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru