Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2013, 05:36   #1
bestnicer
Пользователь
 
Аватар для bestnicer
 
Регистрация: 29.05.2012
Сообщений: 59
Восклицание C# Вычисление интеграла по табличным данным

Здесь считается интеграл от синуса. Вместо f(x) нужно брать значение y из файла с данными.
Т.е. в файле записана функция в виде таблицы, например
x y = f(x)
0 0
1 1
2 2
и т.д.
Помогите исправить, подставляя вместо f1(x) значение столбца y из файла.
Код:
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;
 
namespace integral
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string[] str = System.IO.File.ReadAllLines("text1.txt");
            string[] buf = str[0].Split(' ');
            double[] mass = new double[3];
            for (int y = 0; y < buf.Length; y++)
                mass[y] = Convert.ToDouble(buf[y]);
            int n =Convert.ToInt32( mass[0]);
            double a = mass[1], b = mass[2];
            double h = (b - a) / n, sum = 0, x;
            for (int i = 0; i < n - 1; i++)
            {
                x = a + i * h;
                sum += f1(x);
            }
            label1.Text =Convert.ToString( h * ((f1(a) + f1(b)) / 2 + sum));
        }
        private double f1(double x)
        {
            return Math.Sin(x * x);
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }    
    }
}
bestnicer вне форума Ответить с цитированием
Старый 27.02.2013, 16:37   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Код:
string[] buf = str[0].Split(' ');
Вы считываете только первую строку файла (индекс 0), логично ведь, что надо в цикле работать, по всем строкам файла, подставляя вместо 0 номер шага цикла.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление интеграла Serjuk Помощь студентам 0 07.12.2011 21:57
Вычисление интеграла; user100 Помощь студентам 2 29.04.2011 15:13
Вычисление интеграла Anubys Помощь студентам 2 14.03.2011 09:49
Вычисление интеграла StudeHt Помощь студентам 1 01.05.2009 19:16
Пожалуйста помогите с доступом к табличным данным в HTML McNikodim JavaScript, Ajax 0 26.09.2008 11:37