Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 4
1

Вывести список неуспевающих студентов в порядке убывания количества пропущенных ими занятий

15.04.2014, 23:37. Просмотров 2105. Ответов 3
Метки нет (Все метки)


Сама задача:

Группе студентов в результате полусеместровой аттестации были выставлены оценки по информатике, а также определено количество пропущенных занятий. Успеваемость каждого студента оценивается следующими баллами: «2», «3», «4» или «5». Вывести список неуспевающих (оценка «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
namespace ConsoleApplication20
{
    struct Student
    {
        public string Famile;
        public int rez;
        public int propuski;
        public Student(string famile1, int rez1, int propuski1)
        {
            Famile = famile1;
            rez = rez1;
            propuski = propuski1;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Student[] st=new Student[6];
            st[0] = new Student("Джексон", 4, 2);
            st[1] = new Student("Джонс", 2, 1);
            st[2] = new Student("Смит", 2, 5);
            st[3] = new Student("Стюарт", 2, 2);
            st[4] = new Student("Марвел", 4, 1);
            st[5] = new Student("Басто", 2, 0);
            for (int i = 0; i < st.Length; i++)
            {
                Console.WriteLine("Фамилия {0}\t Результат {1}  Пропуски {2}", st[i].Famile, st[i].rez, st[i].propuski);
            }
            Console.WriteLine();
            Student temp;
            for (int i = 0; i < st.Length; i++)
            {
                for (int j = 1; j < st.Length; j++)
                {
                    if (st[j - 1].propuski < st[j].propuski)
                    {
                        temp = st[j - 1]; st[j - 1] = st[j]; st[j] = temp;
                    }
                }
            }
            for (int i = 0; i < st.Length; i++)
            {
                Console.WriteLine("Фамилия {0}\t Результат {1}  Пропуски {2}", st[i].Famile, st[i].rez, st[i].propuski);
            }
            Console.WriteLine();
            for (int i = 0; i < st.Length; i++)
            {
                //здесь нужен алгоритм вывода только неуспевающих студентов, то есть двоечников
            }
            Console.ReadKey();
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2014, 23:37
Ответы с готовыми решениями:

Вывести список неуспевающих студентов(в алфавитном порядке)
Нужно вывести список неуспевающих студентов и указать в выводе предметы, по которым были получены...

Вывести список фамилий участников в порядке убывания набранных ими очков
Всем привет! Имеется таблица результатов шахматного турнира с N участниками.(Выигрыш-1 очко,ничья...

Вывести список фамилий участников в порядке убывания набранных ими очков
Имеется таблица результатов шахматного турнира с N участниками. (Выигрыш - 1 очко, ничья - 0.5...

Вывести список студентов в выходной текстовый файл в порядке убывания оценок студентов
Во входном текстовом файле находится информация о студентах: фамилия, имя и оценка - целое число...

3
43 / 43 / 19
Регистрация: 22.05.2011
Сообщений: 156
Записей в блоге: 5
15.04.2014, 23:48 2
Лучший ответ Сообщение было отмечено Denfort как решение

Решение

C#
1
2
3
4
5
for (int i = 0; i < st.Length; i++)
            {
              if(st[i].rez ==2)
Console.WriteLine(...);
            }
1
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 4
15.04.2014, 23:52  [ТС] 3
Всего то надо было второе равно поставить
Спасибо за помощь.
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
15.04.2014, 23:58 4
Denfort, может так проще будет?
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            List<Student> students = new List<Student>()
            {
                new Student("Jack",4,2),
                new Student("Jouns",2,1),
                new Student("Smith",2,5),
                new Student("Mary",2,2),
                new Student("Lizzy",4,1),
                new Student("Hank",2,0)
            };
            var NotPresent = from n in students 
                             where n.result == 2 
                             orderby n.notPresents 
                             descending select n;
            foreach (Student s in NotPresent)
                Console.WriteLine(s);
            Console.ReadLine();
        }
    }
    public struct Student
    {
        public string Name;
        public int result;
        public int notPresents;
        public Student(string n,int res,int not)
        {
            Name = n;
            result = res;
            notPresents = not;
        }
        public override string ToString()
        {
            return string.Format("Фамилия: {0}, результат: {1}, пропуски: {2}",
                                  Name, result, notPresents);
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2014, 23:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Вывести список студентов в порядке убывания
Добрый вечер. Ребята, помогите отсортировать считанный список. В файл нужно вывести фамилию и имя...

Программа выводит неверный ответ (дан массив структур, содержащий сведения об успеваемости студентов - вывести список неуспевающих студентов)
Задача: Дан массив структур, содержащий сведения об успеваемости по информатике группы из 25...

Вывести фамилии неуспевающих студентов с указанием группы и количества задолженностей
Создать файл,содержащий сведение сдачи студентами сессии. Каждая запись содержит поля: номер...

Ввести N1, N2, N3 – количества пропущенных часов занятий
Ввести N1, N2, N3 – количества пропущенных часов занятий в среднем на студента за неделю для трех...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.