Структуры: результаты соревнований по фигурному катанию - 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 Структуры
- {
- public partial class Form1 : Form
- {
- public struct abiturient
- {
- public string fam;
- public int sud1;
- public int sud2;
- public int sud3;
- public int sud4;
- public int sud5;
- public int sud6;
- public int sud7;
- public int sud8;
- }
- abiturient[] abit = new abiturient[100];
- int n = 0; //строк в файле
- public Form1()
- {
- InitializeComponent();
- StreamReader data = new StreamReader("abit.txt", Encoding.Default);
- dataGridView1.ColumnCount = 9;
- dataGridView1.RowCount = 1;
- dataGridView2.ColumnCount = 1;
- dataGridView2.RowCount = 1;
- dataGridView1.Rows.Add("Фамилия", "Судья 1", "Судья 2", "Судья 3", "Судья 4", "Судья 5", "Судья 6", "Судья 7", "Судья 8");
- dataGridView2.Rows.Add("Фамилия", "Судья 1", "Судья 2", "Судья 3", "Судья 4", "Судья 5", "Судья 6", "Судья 7", "Судья 8");
- for (n = 0; !data.EndOfStream; n++)
- {
- string[] temp = data.ReadLine().Split(' ');
- abit[n].fam = temp[0];
- abit[n].sud1 = Convert.ToInt32(temp[1]);
- abit[n].sud2 = Convert.ToInt32(temp[2]);
- abit[n].sud3 = Convert.ToInt32(temp[3]);
- abit[n].sud4 = Convert.ToInt32(temp[4]);
- abit[n].sud5 = Convert.ToInt32(temp[5]);
- abit[n].sud6 = Convert.ToInt32(temp[6]);
- abit[n].sud7 = Convert.ToInt32(temp[7]);
- abit[n].sud8 = Convert.ToInt32(temp[8]);
- dataGridView1.Rows.Add(abit[n].fam, abit[n].sud1.ToString(), abit[n].sud2.ToString(), abit[n].sud3.ToString(), abit[n].sud4.ToString(), abit[n].sud5.ToString(), abit[n].sud6.ToString(), abit[n].sud7.ToString(), abit[n].sud8.ToString()); //добавляем новую строку
- }
- data.Close();
- }
- private void button3_Click(object sender, EventArgs e)
- {
- Application.Exit();
- }
- private void button2_Click(object sender, EventArgs e)
- {
- for (int i = 0; i < n; i++)
- {
- int k;
- k = (abit[i].sud1 + abit[i].sud2 + abit[i].sud3 + abit[i].sud4 + abit[i].sud5 + abit[i].sud6 + abit[i].sud7 + abit[i].sud8)/8;
- if //как сортировать??
- {
- dataGridView2.Rows.Add(abit[i].fam);//, abit[i].sud1.ToString(), abit[i].sud2.ToString(), abit[i].sud3.ToString()); //добавляем новую строку
- }
- }
- button2.Enabled = false;
- }
- private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
- {
- }
- }
- }
Решение задачи: «Структуры: результаты соревнований по фигурному катанию»
textual
Листинг программы
- 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 Структуры
- {
- public partial class Form1 : Form
- {
- public struct sport
- {
- public string fam;
- public int sud1;
- public int sud2;
- public int sud3;
- public int sud4;
- public int sud5;
- public int sud6;
- public int sud7;
- public int sud8;
- //эта переменная хранит среднюю оценку
- public int ocenka;
- //Эта переменная хранит место в общем зачете
- public int mesto;
- }
- sport[] spor = new sport[100];
- int n = 0; //строк в файле
- public Form1()
- {
- InitializeComponent();
- StreamReader data = new StreamReader("abit.txt", Encoding.Default);
- dataGridView1.ColumnCount = 9;
- dataGridView1.RowCount = 1;
- dataGridView2.ColumnCount = 2;
- dataGridView2.RowCount = 1;
- dataGridView1.Rows.Add("Фамилия", "Судья 1", "Судья 2", "Судья 3", "Судья 4", "Судья 5", "Судья 6", "Судья 7", "Судья 8");
- dataGridView2.Rows.Add("Фамилия", "Баллы");
- for (n = 0; !data.EndOfStream; n++)
- {
- string[] temp = data.ReadLine().Split(' ');
- spor[n].fam = temp[0];
- spor[n].sud1 = Convert.ToInt32(temp[1]);
- spor[n].sud2 = Convert.ToInt32(temp[2]);
- spor[n].sud3 = Convert.ToInt32(temp[3]);
- spor[n].sud4 = Convert.ToInt32(temp[4]);
- spor[n].sud5 = Convert.ToInt32(temp[5]);
- spor[n].sud6 = Convert.ToInt32(temp[6]);
- spor[n].sud7 = Convert.ToInt32(temp[7]);
- spor[n].sud8 = Convert.ToInt32(temp[8]);
- dataGridView1.Rows.Add(spor[n].fam, spor[n].sud1.ToString(), spor[n].sud2.ToString(), spor[n].sud3.ToString(), spor[n].sud4.ToString(), spor[n].sud5.ToString(), spor[n].sud6.ToString(), spor[n].sud7.ToString(), spor[n].sud8.ToString()); //добавляем новую строку
- }
- data.Close();
- }
- private void button2_Click(object sender, EventArgs e)
- {
- for (int i = 0; i < n; i++)
- {
- spor[i].ocenka = (spor[i].sud1 + spor[i].sud2 + spor[i].sud3 + spor[i].sud4 + spor[i].sud5 + spor[i].sud6 + spor[i].sud7 + spor[i].sud8);
- dataGridView2.Rows.Add(spor[i].fam, spor[i].ocenka.ToString());
- }
- button2.Enabled = false;
- }
- private void выходToolStripMenuItem_Click(object sender, EventArgs e)
- {
- Application.Exit();
- }
- private void условиеИАвторToolStripMenuItem_Click(object sender, EventArgs e)
- {
- Form2 A = new Form2();
- A.Show();
- this.Hide();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д