Как добавить выбор файла из директории? - C#
Формулировка задачи:
Здравствуйте. У меня есть код программы, которая строит гистограммы из заданного файла. Подскажите, как сделать так чтобы этот файл можно было выбрать вручную? Код программы прилагается.
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 System.IO; namespace KSSLR1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string[] lines = File.ReadAllLines("proba.TXT"); double M = 0, sred = 0, sum = 0, max, min, razmah, delta, D = 0, G; double[] mas = new double[lines.Length]; int i, L = 15, Mo = 0; double AMo, temp, As = 0, Ex = 0; int[] masX = new int[L]; int sumZ = 0; double[] masY = new double[L]; for (i = 0; i < lines.Length; i++) { mas[i] = Convert.ToDouble(lines[i]); } max = mas[0]; min = mas[0]; for (i = 0; i < lines.Length; i++) { if (mas[i] > max) max = mas[i]; if (mas[i] < min) min = mas[i]; } razmah = max - min; delta = razmah / L; for (i = 0; i < lines.Length; i++) { if (mas[i] >= min && mas[i] < min + delta) masX[0]++; if (mas[i] >= min + delta && mas[i] < min + 2 * delta) masX[1]++; if (mas[i] >= min + 2 * delta && mas[i] < min + 3 * delta) masX[2]++; if (mas[i] >= min + 3 * delta && mas[i] < min + 4 * delta) masX[3]++; if (mas[i] >= min + 4 * delta && mas[i] < min + 5 * delta) masX[4]++; if (mas[i] >= min + 5 * delta && mas[i] < min + 6 * delta) masX[5]++; if (mas[i] >= min + 6 * delta && mas[i] < min + 7 * delta) masX[6]++; if (mas[i] >= min + 7 * delta && mas[i] < min + 8 * delta) masX[7]++; if (mas[i] >= min + 8 * delta && mas[i] < min + 9 * delta) masX[8]++; if (mas[i] >= min + 9 * delta && mas[i] < min + 10 * delta) masX[9]++; if (mas[i] >= min + 10 * delta && mas[i] < min + 11 * delta) masX[10]++; if (mas[i] >= min + 11 * delta && mas[i] < min + 12 * delta) masX[11]++; if (mas[i] >= min + 12 * delta && mas[i] < min + 13 * delta) masX[12]++; if (mas[i] >= min + 13 * delta && mas[i] < min + 14 * delta) masX[13]++; if (mas[i] >= min + 14 * delta && mas[i] < min + 15 * delta) masX[14]++; } for (i = 0; i < L; i++) { masY[i] = min + i * delta; } for (i = 0; i < L; i++) { M = M + (masX[i] * delta * (i - 0.5) / masX[i]); } for (i = 0; i < L; i++) { if (Mo < masX[i]) Mo = masX[i]; } for (i = 0; i < L; i++) { sumZ = sumZ + masX[i]; } for (i = 0; i < L; i++) { D = D + (masX[i] * (delta * (i - 0.5) - M) * (delta * (i - 0.5) - M) / (masX[i] - 1)); } G = Math.Pow(D, 0.5); temp = sumZ; AMo = (Mo * 100)/temp; for (i = 0; i < L; i++) { As = As + (masX[i] * Math.Pow((delta * (i - 0.5) - M),3) / (Math.Pow(G,3) * masX[i])); } for (i = 0; i < L; i++) { Ex = Ex + (masX[i] * Math.Pow((delta * (i - 0.5) - M), 4) / (Math.Pow(G, 4) * masX[i])); } Ex = Ex - 3; this.chart1.Series["Series1"].Points.DataBindXY(masY,masX); label1.Text = "max = " + max; label2.Text = "min = " + min; label3.Text = "Вариационный размах = " + razmah; label4.Text = "M = " + M; label5.Text = "Mo = " + Mo; label6.Text = "Амплитуда Mo = " + AMo; label7.Text = "Дисперсия = " + D; label8.Text = "Среднеквадратическое отклонение = " + G; label9.Text = "Коэффициент вариации = " + G/M; label10.Text = "Коэффициент асимметрии = " + As; label11.Text = "Коэффициент эксцесса = " + Ex; string sss = ""; for (i = 0; i < masX.Length; i++) { sss = sss + masX[i] + " "; } } private void label4_Click(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { } } }
Решение задачи: «Как добавить выбор файла из директории?»
textual
Листинг программы
var ofd = new OpenFileDialog() {Filter = "Text|*.txt"}; if(ofd.ShowDialog() == DialogResult.OK) { string[] lines = File.ReadAllLines(ofd.FileName); ... }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д