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

Конвертировать программу из с# в с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ разветвляющиеся алгоритмы http://www.cyberforum.ru/cpp-beginners/thread370061.html
текст программы: #include <vcl.h> #include <stdio.h> #include <conio.h> #include <iostream.h> #include <iomanip.h> char* Rus(const char* text); void main()
C++ Путешествие коня Приветствую всех. Немного запутался с задачей, правильно ли сделал. int main() { setlocale( LC_ALL, "RUS" ); const size_t size = 8; const int hor = { 2, 1, -1, -2, -2, -1, 1, 2 }; const int ver = { -1, -2, -2, -1, 1, 2, 2, 1 }; http://www.cyberforum.ru/cpp-beginners/thread370056.html
map C++
объясните пожалуйсто как это работает, почему тут <string, int, less<string>> так много перемееных #include <map> #include <string> #include <iostream> using namespace std; void main() { map<string, int, less<string>> name_age; name_age = 7; name_age = 39; name_age = 14;
inline C++
В хедере определён класс со static-методами, в исходнике реализация этих методов. Один из методов определяется с ключевым словом inline. Этот метод (который определён с ключевым словом inline) используется в другом исходном файле внутри главной функции WinMain. При сборке проекта происходит ошибка - ссылка на неразрешённый внешний символ приукрашенное_имя_проблемного_метода. Убрал в определении...
C++ Нужно переписать процедуры с Паскаля на функции в С++ http://www.cyberforum.ru/cpp-beginners/thread370032.html
Есть список. И есть процедуры для вывода списка и удаления первого элемента. Не знаю как переписать эти процедуры на С++, потому что не знаю как в С++ передать переменную по значению как в procedure showList(Spysok: TList); и как передать по ссылке как в procedure delElem(var PTB: TList); type TList = ^List; List = record inf: byte; next: TList; end;
C++ Квадратные уравнения #include <iostream> #include <math.h> using namespace std; int main() { float a,b,c,d,di,x1,x2; cout<<"a=";cin>>a; cout<<"b=";cin>>b; cout<<"c=";cin>>c; подробнее

Показать сообщение отдельно
anomal_mish_ka
Сообщений: n/a
21.10.2011, 13:44     Конвертировать программу из с# в с++
Доброго всем времени суток=)), Народ помогите конвертировать программу из с# в с++
Надо аппроксимировать заданную исходную функцию f(x) многочленом на интервале [a, b]. Задано количество неизвестных параметров n, вид аппроксимации и m – количество точек, в которых задана функция.
Таблица исходной функции yi=f(xi) вычисляется в точках xi = a + (i −1)(b − a) /(m −1), i =1, m. Используя полученную таблицу (xi , yi ), требуется вычислить значения функций f (x j ), ϕ(x j ,c) построить графики и проанализировать качество полученной аппроксимации.

Заранее спасибо.

Вариант:
ln(x) − 5sin(x)^2 Линейная PNL
a=3, b=6, m=11, n=2

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ZedGraph;
namespace MetodLaGranga
{
    public partial class Form1 : Form
    {
        double[] Xj = new double[21];
        double[] Yj = new double[21];
        double[] Fj = new double[21];
        public Form1()
        {
            InitializeComponent();
            dataGridView1.AllowUserToAddRows = false;
            dataGridView2.AllowUserToAddRows = false;
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            label1.Visible = true;
            dataGridView1.Rows.Clear();
            dataGridView1.Rows.Add(11);
            
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            dataGridView1.Visible = true;
            dataGridView2.Visible = true;
            double [] x = new double [11];
            double [] y = new double [11];
            for (int i = 0; i < 11; i++)
            {
                x[i] = 3 + (double)i * 6 / 10;
                dataGridView1.Rows[i].Cells[0].Value = Math.Round(x[i],4).ToString();
                y[i] = Math.Log(x[i], 10) - 5 * Math.Pow(Math.Sin(x[i]), 2);
                dataGridView1.Rows[i].Cells[1].Value = Math.Round(y[i], 4).ToString();
            }
 
            dataGridView2.Rows.Clear();
            
            dataGridView2.Rows.Add(21);
 
            for (int  i = 0; i < 21; i++)
            {
                Xj[i] = 3 + (double)i * 6 / 20;
 
                Yj[i] = Math.Log(x[i], 10) - 5 * Math.Pow(Math.Sin(x[i]), 2);
               // MessageBox.Show(Xj[i].ToString());
                dataGridView2.Rows[i].Cells[0].Value = Math.Round(Xj[i],2).ToString();
                dataGridView2.Rows[i].Cells[1].Value = Math.Round(Yj[i],6).ToString();
            }
             //new double();
            for (int r = 0; r < 21; r++)
            {
                if ((Xj[r] >= x[0]) && (Xj[r] <= x[10]))
                {
                    int i = 1;
                QWER:
                    if (Xj[r] > x[i])
                    {
                        i++;
                        goto QWER;
                    }
                    else
                    {
                        Fj[r] = y[i - 1] + (Xj[r] - x[i - 1]) * (y[i] - y[i - 1]) / (x[i] - x[i - 1]);
                        dataGridView2.Rows[r].Cells[2].Value = Math.Round(Fj[r], 3).ToString();
                    }
                }
                else 
                {
                    dataGridView2.Rows[r].Cells[2].Value = "За пределами таблицы!"; 
                }
            }
            for (int i = 0; i < 21; i++)
            {
                dataGridView2.Rows[i].Cells[3].Value = Math.Round(Math.Abs(Yj[i]-Fj[i]),3).ToString();
            }
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            zedGraphControl1.Visible = true; 
            CreateGraph(zedGraphControl1); // строим график
            SetSize(); // и устанавливаем его положение и размер             
        }
 
        private void CreateGraph(ZedGraphControl zgc)
        {
            GraphPane myPane = zgc.GraphPane;
            myPane.CurveList.Clear();
            // Задаем название графика и сторон
            myPane.Title.Text = "Графики фунции";
            myPane.XAxis.Title.Text = "Ось X";
            myPane.YAxis.Title.Text = "Ось Y";
            // --------------------------------
           
            PointPairList list1 = new PointPairList();
            for (int i = 0; i < 21; i++)
            {
                list1.Add(Xj[i],Yj[i]);
            }
 
            PointPairList list2 = new PointPairList();
            for (int i = 0; i < 21; i++)
            {
                list2.Add(Xj[i], Fj[i]);
            }
            // ----------------
            // отрисовываем график
            LineItem myCurve = myPane.AddCurve("f(x)", list1, Color.Blue, SymbolType.Square);
            zgc.AxisChange();
            LineItem myCurve1 = myPane.AddCurve("u(x,c)", list2, Color.Red, SymbolType.Square);
            zgc.AxisChange();
        }
 
        // Фунция изменения размера и положения графика в зависимости от размера формы
        private void SetSize()
        {
            //zedGraphControl1.Location = new Point(3, 3); // задаем положение графика
            zedGraphControl1.Size = new Size(ClientRectangle.Width - 100, ClientRectangle.Height - 100); // размеры графика
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            zedGraphControl1.Visible = false;
        }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru