Структуры: результаты соревнований по фигурному катанию - 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();
 
        }
 
      
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы