Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Bob103
8 / 8 / 9
Регистрация: 23.09.2015
Сообщений: 283

Как работать с массивом в структуре?

24.11.2016, 12:26. Показов 1029. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На основе данных входного файла составить список студентов,
включающий фамилию, факультет, курс, группу, 5 оценок. Вывести в новый файл
информацию о тех студентах, которые имеют хотя бы одну двойку, отсортировав их по
курсу.

Проблема с массивом оценок,можно было бы конечно отдельно каждую оценку,но это не круто.Вот,подскажите плз,как работать с массивом в структуре.
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
class Program
    {
        private static void Main()
        {
            // Читаем из файла
            string[] allLines = File.ReadAllLines("input.txt");
            // Преобразуем в массив студентов
            Student[] students = new Student[allLines.Length];
            for (int index = 0; index < allLines.Length; index++)
            {
                string line = allLines[index];
                string[] fields = line.Split(';');
                Student student = new Student(fields[0], fields[1], Convert.ToInt32(fields[2]),/* тут надо бы инициализировать массив */);
                students[index] = student;
            }
            // Сортируем
            Array.Sort(students);
            // Выводим данные
            foreach (Student student in students)
            {
                Console.WriteLine(student);
                Console.WriteLine();
            }
            // Преобразуем в удобный для записи вид
            string[] linesToSave = new string[students.Length];
            for (int i = 0; i < students.Length; i++)
            {
                Student student = students[i];
                linesToSave[i] = student.ToString();
            }
            // Сохраняем в файл
            File.WriteAllLines("output.txt", linesToSave);
            Console.ReadKey();
        }
    }
 
    public struct Student : IComparable
    {
        public Student(string surname, string fac, int course, int [] mas)
            : this()
        {
            Surname = surname;
            Fac = fac;
            Course = course;
            Mas = mas;
        }
 
        // Фамилия
        public string Surname { get; private set; }
        // Факультет
        public string Fac { get; private set; }
        // Курс
        public int Course { get; private set; }
        // Оценки
        public int [] Mas
        {
            get
            {
                return //Массив
            }
            private set
            {
                for (int i = 0; i < 5; i++)
                {
                    
                }
            }
           
        }
 
        
 
 
        public override string ToString()
        {
            return string.Format("{0}; {1}; {2}; {3}",
                                 Surname, Fac, Course, Mas);
        }
    }
C#
1
2
3
4
5
Иванов ; Фак1; 111; 2 3 4 4 5;
 Петров ; Фак2; 211; 3 3 3 3 3;
 Сидоров; Фак3; 311; 4 4 5 4 4;
 Пупкин ; Фак4; 411; 4 3 4 3 4;
 Таратайкин ;Фак5; 511; 5 5 5 5 5;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.11.2016, 12:26
Ответы с готовыми решениями:

Как работать с коллекциями в структуре
Есть ощущение, что я что то делаю совсем не так. Создаю структуру, в составе которой есть коллекция. Итог - с коллекцией никак не...

Как можно получить информацию о структуре таблицы с которой я хочу работать?
Добрый день! Начал изучать C#/SQL. Создал БД, подключился к серверу, проверил - всё работает (через программу на C# получил данные из БД). ...

Кто поможет разобраться в структуре denwer? Как с ним правильно работать? Как обновить его компоненты до последних обновлений?
Не нашел куда лучше разместить это тему потому кидаю сюда. Кто поможет разобраться в структуре denwer? Как с ним правильно работать? Как...

4
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
24.11.2016, 12:49
/* тут надо бы инициализировать массив */ => fields[3].Trim().Split(' ').Select(s=>int.Parse(s)).ToArray()
0
 Аватар для Bob103
8 / 8 / 9
Регистрация: 23.09.2015
Сообщений: 283
24.11.2016, 14:03  [ТС]
Storm23, так хорошо,а ниже,занести данные в массив.С самим методом Mas

Добавлено через 3 минуты
Storm23, и вопрос по Select,там не нужно подключать пространство имён?

Добавлено через 27 минут
Somebody...

Добавлено через 37 минут
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
24.11.2016, 15:54
Bob103, Недавно делал похожее на c++, думаю смысл поймешь
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
#include <string>
#include <list>
#include <map>
using namespace std;
 
 
class Student
{
public:
    Student(string firstName, string lastName, string group, map<string, int> * balls)
    {
        this->firstName = firstName;
        this->lastName = lastName;
        this->group = group;
        this->balls = balls;
    }
    string getFirstName() const
    {
        return this->firstName;
    }
    string getLasttName() const
    {
        return this->lastName;
    }
    string getGroup() const
    {
        return this->group;
    }
    void getAllBalls()
    {
        for (auto iterator = this->balls->begin(); iterator != this->balls->end(); ++iterator)
        {
            cout << "\tПредмет: #" << (*iterator).first << " - оценка: " << (*iterator).second << endl;
        }
    }
private:
    string firstName;
    string lastName;
    string group;
    map<string, int> * balls;
};
 
 
 
 
 
int main()
{
    setlocale(LC_ALL, "russian");
 
    list<Student*> students;
    students.push_back(new Student("Перепечкин", "Роман", "РПЗ 14-01", new map<string, int>{
        { "Математика", 2 },
        { "ООП", 5 },
        { "Сети", 4 }
    }));
    students.push_back(new Student("Ромашкин", "Анатолий", "РПЗ 14-01", new map<string, int>{
        { "Математика", 5 },
        { "ООП", 5 },
        { "Сети", 5 }
    }));
    students.push_back(new Student("Трампыч", "Мария", "РПЗ 14-01", new map<string, int>{
        { "Математика", 4 },
        { "ООП", 4 },
        { "Сети", 5 }
    }));
    for (auto iterator = students.begin(); iterator != students.end(); ++iterator)
    {
        cout << "Студент: " << (*iterator)->getFirstName() << " " << (*iterator)->getLasttName();
        cout << ", группа #" << (*iterator)->getGroup() << ", имеет такие оценки:" << endl;
        (*iterator)->getAllBalls();
        cout << endl;
    }
 
 
 
    system("pause");
}
1
 Аватар для Bob103
8 / 8 / 9
Регистрация: 23.09.2015
Сообщений: 283
25.11.2016, 15:10  [ТС]
edward_freedom, спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.11.2016, 15:10
Помогаю со студенческими работами здесь

Как работать с двумерным массивом?
Есть такой вот массив: int ary = { { 1, 2, 3, 4, 5 }, { 2, 4, 6, 8, 10 }, { 3, 6, 9, 12, 15 } Здесь 3 строки и 5...

Как правильно работать с массивом?
$N = 1; @KonstruktorRj = (); for($U=0;$U&lt;=58;$U++) { @KonstruktorRj = ('|! Туда...

Как работать с массивом на PHP?
У меня есть запрос от API VK, который возвращает id всех друзей пользователя. Мне нужно каждый id выводить на новой строке, помогите...

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

Как работать с таким json массивом?
Обычно это не представляет сложности $obj = json_decode($data); $my_var=$obj-&gt;{&quot;some_parametr_1&quot;}-&gt;{&quot;parametr_inside&quot;}; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru