Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.11.2020
Сообщений: 29

Добавить метод Array.Sort

29.12.2020, 14:07. Показов 547. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, у меня есть такая программы, которая берет информацию из текстового документа input и записывает новую в output. Она работает так: сортирует по возрастанию пробег машин выпущенных раньше определенного года их записывает только их в новый текст. документ output
Вопрос как в программу добавить метод Array.Sort чтобы он осуществлял это и чтобы правильно все выводилось в новый текст. документ
(1-марка машины; 2-номер; 3 -фамилия; 4-год выпуска; 5-пробег)
Input.txt:
SUZUKI 671 Песков 2001 1000
BENTLEY 444 Абрамов 2010 300
CHEVROLET 657 Клеев 1994 4000
FORD 890 Ивутина 1999 800
HYUNDAI 889 Пепчин 2014 12000
LADA 009 Орлова 2017 7445
SUBARU 999 Кронев 2016 1500

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
80
81
82
83
84
85
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
 
namespace app
{
    public struct Car
    {
        public string Mark { get; set; }
        public int Number { get; set; }
        public string Family { get; set; }
        public double Year { get; set; }
        public int Run { get; set; }
        public Car(string marka, int number, string family, double year, int run)
       
        {
            Mark = marka;
            Number = number;
            Family = family;
            Year = year;
            Run = run;
        }
        public override string ToString()
        {
            string a = "Марка:" + Mark + " " + "Номер: " + Number + " " + "Фамилия владельца:" + Family + " " + "год:" + Year + " " + " пробег: " + Run;
            return a;
        }
    }
    class Program
    {
        static public Car[] Input()
        {
            string[] a = File.ReadAllLines("input.txt");
            Car[] array = new Car[a.Length];
            for (int i = 0; i < a.Length; i++)
            {
                string line = a[i];
                string[] s = line.Split(' ');
                
                Car r = new Car(s[0], Convert.ToInt32(s[1]), s[2], Convert.ToInt32(s[3]), Convert.ToInt32(s[4]));
                array[i] = r;
            }
            return array;
        }
        static void Sorti(Car[] a)
        {
            for (int i = 1; i < a.Length; i++)
            {
                int j;
                int buf = a[i].Run;
                Car b = a[i];
                for (j = i - 1; j >= 0; j--)
                {
                    if (a[j].Run < buf)
                        break;
                    a[j + 1] = a[j];
                }
                a[j + 1] = b;
            }
        }
        static void Main(string[] args)
        {
            Car[] array = Input();
 
            Console.WriteLine("введите год выпуска ");
 
            int level = int.Parse(Console.ReadLine());
 
            Sorti(array);
 
            List<string> M = new List<string>();
 
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i].Year <= level)
                {
                    M.Add(array[i].ToString());
                }
            }
         File.WriteAllLines("output.txt", M.ToArray());
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.12.2020, 14:07
Ответы с готовыми решениями:

В классе Array есть метод Sort. Можете ли вы улучшить этот метод, если значения в массиве часто повторяются
Как то проходил собеседование в одну конторку.Задали логическую задачку которую не смог решить.Может кто-нить знает . Вот задача: В...

Array.Sort() Какие параметры передать в этот метод?
Array.Sort(); Какие параметры передать в этод метод, чтобы масив отсортироватся не по возрозтанию, а по спаданию?

Метод, который сортирует и печатает массив по длине строчки, без использования готовой функции Array.Sort
с готовой функцией как то проще а как можно реализовать без Array.Sort и Compare например дан массив: {...

1
 Аватар для Enifan
1849 / 1191 / 501
Регистрация: 14.10.2018
Сообщений: 3,213
29.12.2020, 16:49
Цитата Сообщение от ин май Посмотреть сообщение
Array.Sort чтобы он осуществлял это
Вам принципиален этот метод? Если да, то вы должны понимать что этот метод только сортирует, и делать условия на выборку года - не его работа. Реализация может быть такой
C#
1
2
3
4
5
6
7
8
9
10
11
    public struct Car : IComparable
    {
        // *** данные *** //
 
        public int CompareTo(object obj)
        {
            if (obj is Car)
                return Year.CompareTo(((Car)obj).Year);
            throw new NotImplementedException();
        }
    }
Использование
C#
1
2
            //Sorti(array);
            Array.Sort(array);
Однако более быстрый и правильный способ - использовать LINQ
C#
1
array = array.Where(x => x.Year <= level).OrderBy(x => x.Year).ToArray();
И дальше - просто запись в файл
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.12.2020, 16:49
Помогаю со студенческими работами здесь

Сортировка Array.Sort
Я новичок, поэтому объясните как можно более прозрачно. У меня есть массив, который сохраняет название хоккейных команд, в этом массиве...

Разобрать пример с Array.Sort()
Здравствуйте! не могу понять как так получается что строка sr1.Sort(ref db_arr); возвращает отсортированный массив db_arr... почему так?...

Сортировка функцией Array.Sort
Даже числа не выводит,чес слово. Что исправить? static void Main(string args) { int n; ...

Как работает Array.Sort
Собственно вопрос в том, как всё-таки работает сортировка Array.Sort? Этот вопрос возник потому, что после анализа время ее работы с...

Сортировка Array.Sort() с компаратором
struct Entrant { public string Name;//имя public int IdNum;//идентиф. код public int CoursePoints;//бал...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru