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

java to c - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ матрица http://www.cyberforum.ru/cpp-beginners/thread282567.html
дана матрица 3х4, нужно найти максимальное среднее арифметическое среди средних арифметических каждой строки матрицы есть код, реализующий эту работу, но в нем очень трудно разобраться может кто предложит альтернативу этой махине? int i,s1,s2,n1,n2; double sum(double a) { return a+1; } template <typename T, size_t Rows>
C++ Работа с экраном в текстовом режиме. Уважаемые форумчане. Помогите с кодом программы. void doubleframe() //формирование двойной рамки { int i; gotoxy(2,1); cout<<'╔'; //левый верхний угол рамки for(i=3;i<=x2-2;i++)cout<<'═'; //верхняя часть рамки cout<<'╗'; //правый верхний угол рамки http://www.cyberforum.ru/cpp-beginners/thread282557.html
Инициализация динамических матриц в с++ C++
Необходимо реализовать класс матриц, вот мой набросок: // Класс.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" class matrix { public: matrix(int cap);
Одномерный масссив. C++
Помогите пожалуйста решить задачку: Рассчитать сумму положительных элементов одномерного массива. Заранее спасибо огромное за оказанную помощь!!!
C++ Массив целых чисел «свернуть в кольцо» и повернуть вправо на К позиций http://www.cyberforum.ru/cpp-beginners/thread282548.html
Задание таково - Массив целых чисел x ... x «свернуть в кольцо» и повернуть вправо на К позиций (К может быть больше n) напишите пожалуйста код программы если не сложно... (((
C++ Не создает диалоговое окно из-за элемента управления List control, находящийся в этом окне. Win32 API В диалоговом окне есть элемент управления List control. С ним диалоговое окно не вызывается, а без него вызывается. В чем может быть проблема? подробнее

Показать сообщение отдельно
Solka
4 / 3 / 1
Регистрация: 02.10.2010
Сообщений: 20

java to c - C++

24.04.2011, 17:15. Просмотров 254. Ответов 0
Метки (Все метки)

Помогите перевести код с java на c.
Или обясните что и как сдесь работает (алгоритм)

Java
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
package tree;
 
import base.*;
import java.awt.*;
 
public class Tree extends Solid
{
    Colorer treeColorer = new SimpleColorer(Color.RED, Color.ORANGE);
    Colorer leafColorer = new SimpleColorer(new Color(0, 127, 0), Color.YELLOW);
 
    // Создать конус
    public static Solid createCone(double height, double radius, int countQuadrangles, Colorer colorer)
    {
        Solid solid = new Solid();
        double phi1, phi2;
    
        for (int i = 0; i < countQuadrangles; ++i)
        {
            phi1 = 2 * Math.PI / countQuadrangles * i;
            phi2 = 2 * Math.PI / countQuadrangles * (i + 1);
            Vector[] vertexes = new Vector[3];
            vertexes[0] = new Vector(radius * Math.cos(phi1), radius * Math.sin(phi1), 0);
            vertexes[1] = new Vector(radius * Math.cos(phi2), radius * Math.sin(phi2), 0);
            vertexes[2] = new Vector(0.0, 0.0, height);
            solid.add(new Triangle(vertexes, colorer));
        }
        
        return solid;
    }   
    
    public static Solid createLeaf(double size, Colorer colorer)
    {
        Solid solid = new Solid();
        Vector[] vertexes = new Vector[3];
        vertexes[0] = new Vector(0.0, 0.0, 0.0);
        vertexes[1] = new Vector(0.0, size / 3.0, size / 2.0);
        vertexes[2] = new Vector(0.0, 0, size);
        solid.add(new Triangle(vertexes, colorer));
        vertexes = new Vector[3];
        vertexes[0] = new Vector(0.0, 0, size);
        vertexes[1] = new Vector(0.0, -size / 3.0, size / 2.0);
        vertexes[2] = new Vector(0.0, 0.0, 0.0);
        solid.add(new Triangle(vertexes, colorer));
        return solid;
    }       
    
    
    void branch(int n, double size, double radius, Transform T)
    {
        if (--n > 0)
        {
            int count = (int)((n == 1) ? (size / 8 + 1) : (size / 25));
            for (int i = 0; i < count ; ++i)
            {
                double r = (Math.random() * 0.9 + 0.1) * size;
                branch(n, (size - r) * 0.7, (size - r) / 25.0,
                    Transform.createTranslateZ((size - r) / 30.0).composite(
                    Transform.createRotateY(Math.PI / 3.0).composite(
                    Transform.createRotateZ(2.0 * Math.PI * Math.random()).composite(
                    Transform.createTranslateZ(r).composite(
                    T)))));
            }
            for (int i = 0; i < 5 ; ++i)
            {
                double r = (Math.random() * 0.1) * size;
                branch(1, 0, 0,
                    Transform.createTranslateZ((size - r) / 30.0).composite(
                    Transform.createRotateY(Math.PI / 3.0).composite(
                    Transform.createRotateZ(2.0 * Math.PI * Math.random()).composite(
                    Transform.createTranslateZ(r).composite(
                    T)))));
            }           
            addAll(T.apply(createCone(size, radius, 10, treeColorer)));
        }
        else
            addAll(T.apply(createLeaf(20, leafColorer)));
    }
    
    Tree()
    {
        branch(4, 600.0, 60.0, Transform.createTranslateZ(-300));
    }
}
Если чего то сдесь не хватает то вот ссылка на исходник
http://fractalworld.xaoc.ru/files/tree.tar.bz2
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru