Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
anomal_mish_ka

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

21.10.2011, 13:44. Показов 1342. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток=)), Народ помогите конвертировать программу из с# в с++
Надо аппроксимировать заданную исходную функцию 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;
        }
    }
}
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.10.2011, 13:44
Ответы с готовыми решениями:

Конвертировать программу с GPSS на Delphi (SMPL)?
Привет всем! Кто-нибудь знает возможно переписать прогу с GPSS на Delphi (SMPL)? Accumulator EQU 5 ;ёмкость накопителя Tavr EQU...

Конвертировать БД
Доброго времени суток. Есть приложение клиент БД (InterBase). Есть база для этого приложения. Есть ещё одна БД, но поля в ней отличаются....

Конвертировать из с в с++
Переделать из язика с в язик С++ файл снизу #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...

2
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
21.10.2011, 13:51
anomal_mish_ka, конвертировать в Managed C++ или native C++?
0
anomal_mish_ka
25.10.2011, 17:11
Цитата Сообщение от gooseim Посмотреть сообщение
anomal_mish_ka, конвертировать в Managed C++ или native C++?
Cпасибо я уже разобрался=)) Если нужен мой проект обращайтесь=))
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2011, 17:11
Помогаю со студенческими работами здесь

Конвертировать в c++
Привет всем! кто-нибудь знает как возможно переписать программу на с++? SIMULATE GENERATE 5,2 QUEUE S1,500 ...

Конвертировать из 2.0 в 3.0
Люди, есть ли безболезненный способ конвертировать проект в 3.0 из 2.0, или надо писать проект сново? VS2008

VB конвертировать в C#
помогите VB конвертировать в C# Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles...

Конвертировать с Pascal на C#
var n, i, sum :integer; j: integer; begin writeln('Введите число'); readln(n); while n &lt;&gt; 0 do begin j := n mod 10; if j mod...

Конвертировать с Pascal на C#
Конвертировать с Pascal на C# программу ниже var x, max7, max, R, R1, count: integer; begin max:= 0; max7:= 0; count:= 0; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru