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

Сортировка строк из файла и вывод их от наибольшего к меньшему

23.09.2018, 15:02. Показов 2630. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте Уважаемые Форумчане. Возникли некоторые проблемы с сортировкой выгружаемых строк из файла и вывод.

Есть уже написанный метод, который выделяет из строки все числа и записывает их в массив, но нужно, чтобы убирались последние 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
void Dustupi() 
{ 
Console.Clear(); 
Console.WriteLine("Доступные книги: "); 
Console.ForegroundColor = ConsoleColor.White; 
Console.WriteLine("Название книги / автор / стоимость книги / количество доступных книг\n"); 
Console.ForegroundColor = ConsoleColor.White; 
string path = @"D:\УЧЕБА!\Kursovaya\Новая папка\Nikolenko A. 174-2\bd.txt"; 
foreach (string vdustup in File.ReadLines(path)) // Вывод доступных книг 
{ 
if (vdustup.Contains("*")) 
{ 
Console.WriteLine(vdustup.Trim(new Char[] { '*' })); 
} 
} 
foreach (string vdustup in File.ReadLines(path)) 
{ 
if (vdustup.Contains("*")) 
{ 
int[] intMatch = vdustup.Where(Char.IsDigit).Select(x => int.Parse(x.ToString())).ToArray(); 
Console.WriteLine(string.Join("", intMatch)); 
} 
}
И сами строки из файла:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Война и мир / Лев Толстой / 3133 / 41* 
Преступление и наказание / Федор Достоевский / 2144 / 25* 
Мертвые души / Николай Гоголь / 3821 / 13* 
Отцы и дети / Иван Тургенев / 1873 / 27* 
Капитанская дочка / Александр Пушкин / 2633 / 31* 
Тихий Дон / Михаил Шолохов / 1374 / 19* 
Мастер и Маргарита / Михаил Булгаков / 2404 / 21* 
Идиот / Федор Достоевский / 1944 / 28* 
Алые паруса / Александр Грин / 1451 / 22* 
Собачье сердце / Михаил Булгаков / 1757 / 14* 
Белый Клык / Джек Лондон / 14400 / 15* 
Два капитана / Вениамин Каверин / 1940 / 16* 
Маленький принц / Антуан де Сент-Экзюпери / 1501 / 17* 
Робинзон Крузо / Даниель Дефо / 1498 / 11* 
Пикник на обочине / Братья Стругацкие / 1972 / 13* 
Дубровский / Александр Пушкин / 1559 / 12* 
Белая гвардия / Михаил Булгаков / 1771 / 19* 
Старик и море / Эрнест Хемингуэй / 2133 / 16* 
Тарас Бульба / Николай Гоголь / 3141 / 17*
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2018, 15:02
Ответы с готовыми решениями:

Сортировка по id от большего к меньшему
В интернете не могу найти, может тут кто поможет? Как сделать сортировку от большего к меньшему? сейчас в коде стоит от меньшего к...

Сортировка одномерного массива от большего к меньшему
Создать одномерный массив размер которого задает пользователь, заполнить его случайными числами и вывести на экран. После чего...

Сортировка массива по числам от большего к меньшему
Есть массив sas, LONGовый. Нужно расположить в нём числа от большего до меньшего. К примеру, sas содержит числа 1, 900, 99000, -33 в...

26
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
23.09.2018, 16:35
Лучший ответ Сообщение было отмечено Billy123 как решение

Решение

Кликните здесь для просмотра всего текста
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
void Main()
{
    using (var stream = File.Open(@"D:\input.txt", FileMode.Open))
    using (var reader = new StreamReader(stream, Encoding.GetEncoding(1251)))
    {
        Enumerate(() => reader.ReadLine())
            .TakeWhile(line => line != null)
            .Select(BookInfo.Parse)
            .OrderBy(info => info.Year)
            .ForEach(Console.WriteLine);
    }
}
 
static class EnumerableExtensions
{
    public static void ForEach<T>(this IEnumerable<T> sequence, Action<T> action)
    {
        foreach (var element in sequence)
        {
            action(element);
        }
    }
}
 
IEnumerable<T> Enumerate<T>(Func<T> valueFactory)
{
    while (true)
    {
        yield return valueFactory();
    }
}
 
class BookInfo
{
    public string Name { get; }
    public string Author { get; }
    public int Year { get; }
    public int Count { get; }
    
    public BookInfo(string name, string author, int year, int count)
    {
        Contract.Requires(name != null);
        Contract.Requires(author != null);
        Contract.Requires(year > 0);
        Contract.Requires(count >= 0);
        
        Name = name;
        Author = author;
        Year = year;
        Count = count;
    }
    
    public static BookInfo Parse(string text)
    {
        Contract.Requires(text != null);
        
        var segments = text.Split('/')
            .Select(segment => segment.Trim())
            .ToArray();
            
        Contract.Assert(segments.Length == 4);
        Contract.Assert(segments.All(segment => !string.IsNullOrWhiteSpace(segment)));
        Contract.Assert(segments[3].Last() == '*');
        
        return new BookInfo(
            name: segments[0], 
            author: segments[1], 
            year: int.Parse(segments[2]), 
            count: int.Parse(segments[3].Substring(0, segments[3].Length - 1))
        );
    }
    
    public override string ToString()
    {
        return $"{Name} / {Author} / {Year} / {Count}*";
    }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,105
Записей в блоге: 2
23.09.2018, 16:37
При таком формате строки для получения массива входных данных Вам надо воспользоваться чем-то в таком духе
C#
1
2
            string path = "Война и мир / Лев Толстой / 3133 / 41* ";
            string[] path_arr = path.Split('/');
0
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 18
23.09.2018, 17:05  [ТС]
Это работает с одной строкой и одним массивом, но у меня то сразу берется несколько строк из файла.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,105
Записей в блоге: 2
23.09.2018, 17:23
Цитата Сообщение от Billy123 Посмотреть сообщение
Это работает с одной строкой и одним массивом, но у меня то сразу берется несколько строк из файла.
Не обратил внимание... Сорри
Цитата Сообщение от Billy123 Посмотреть сообщение
int[] intMatch = vdustup.Where(Char.IsDigit).Select(x => int.Parse(x.ToString())).ToArray();
Насколько понимаю, Вы здесь записываете в массив не числа, а цифры. Или я ошибаюсь?
Вам по результату-то что надо? Цифры, числа?

Добавлено через 5 минут
Символ "*" - это признак по которому отбираются строки?
Он может в любом месте находиться (так у Вас реализовано) или обязательно должен быть в конце строки?
Если второе, то как быть если два таких символа?
1
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 18
23.09.2018, 17:37  [ТС]
Числа, которые получаются после сортировки.
По результату нужны строки с этими числами, нужно сделать сортировку по самым дорогим книгам.

Символ "*" - это признак, да, в конце строки обязательно стоит. Не должно получиться, что в конце запишутся 2 звездочки.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,105
Записей в блоге: 2
23.09.2018, 17:45
Вот вариант с комментами
C#
1
2
3
4
5
            string[] path = new string[] { "Война и мир / Лев Толстой / 3133 / 41* ", "Преступление и наказание / Федор Достоевский / 2144 / 25*" };
            string[] path_zv = path.Where(x => x.Contains("*")).ToArray(); // Отбор строк у которых есть символ '*'.
            string[] path_1 = path_zv.Select(x => x.Remove(x.LastIndexOf("/"))).ToArray(); // Отбрасывание конца строки после последнего слеша
            string[] path_2 = path_1.Select(x => x.Remove(0, x.LastIndexOf("/") + 1)).ToArray(); // Получение конца строки после последнего слеша
            int[] path_int = path_2.Select(x => Convert.ToInt32(x)).ToArray(); // Получение массива чисел
Или в одну строку
C#
1
2
3
4
5
            path_int = path.Where(x => x.Contains("*"))
                           .Select(x => x.Remove(x.LastIndexOf("/")))
                           .Select(x => x.Remove(0, x.LastIndexOf("/") + 1))
                           .Select(x => Convert.ToInt32(x))
                           .ToArray();
Добавлено через 2 минуты
Строки у которых "*" есть ещё где-то кроме последней позиции в отбор должны попасть или нет?
1
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 18
23.09.2018, 17:49  [ТС]
Спасибо большое, но вот смотрите, остается последний вопрос, как мне теперь вывести полную строку с этими числами (Уже отсортированными)?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,105
Записей в блоге: 2
23.09.2018, 17:51
Если отбирать только те строки у которых символ "*" один и только один, и он обязательно последний, то надо изменить Where на такое выражение
C#
1
.Where(x => x.IndexOf('*') == x.Length - 1)
Добавлено через 2 минуты
Цитата Сообщение от Billy123 Посмотреть сообщение
Спасибо большое, но вот смотрите, остается последний вопрос, как мне теперь вывести полную строку с этими числами (Уже отсортированными)?
То есть Вы потом этот массив чисел сортируете, а по нему выводите соответствующие строки? Вам этот массив чисел нужен только для сортировки или ещё где-то используете?
1
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 18
23.09.2018, 17:57  [ТС]
Нигде больше не используется, только в этом методе
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,105
Записей в блоге: 2
23.09.2018, 18:02
Ещё раз уточняю, для полной ясности.
Вам надо получить из исходного массива строк
  • отфильтрованный массив в котом есть только строки только с одним символом "*" и только в последней позиции
  • этот массив надо отфильтровать по значению числа между предпоследним и последним слешем.
  • никаких преобразований строк производить не надо.
Всё правильно понято?
1
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 18
23.09.2018, 18:17  [ТС]
Да, все верно
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,105
Записей в блоге: 2
23.09.2018, 18:19
Для большей читабельности и облегчения отладки создал два метода.
C#
1
2
3
4
5
6
7
8
9
10
11
12
        #region Сортировка строк из файла и вывод их от наибольшего к меньшему
        static Nullable<int> myConvert(string myString)
        {
            if (Int32.TryParse(myString.Remove(myString.LastIndexOf("/")).Remove(0, myString.LastIndexOf("/") + 1), out int _numb))
                return _numb;
            return null;
        }
 
        static bool myFilter(string myString) 
            => (myString.IndexOf('*') == (myString.Length - 1))
                && myConvert(myString) != null;
        #endregion
И код с их использованием.
C#
1
2
3
            string[] path = new string[] { "Война и мир / Лев Толстой / 3133 / 41* ", "Преступление и наказание / Федор Достоевский / 2144 / 25*" };
            string[] path_filter = path.Where(x => myFilter (x)).ToArray(); // Отбор строк по фильтру
            path_filter.OrderBy(x => myConvert(x)); // Сортировка строк
Добавлено через 1 минуту
Упс... Где-то ошибка. Сейчас подправлю....
1
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 18
23.09.2018, 18:27  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Для большей читабельности и облегчения отладки создал два метода.
C#
1
2
3
4
5
6
7
8
9
10
11
12
        #region Сортировка строк из файла и вывод их от наибольшего к меньшему
        static Nullable<int> myConvert(string myString)
        {
            if (Int32.TryParse(myString.Remove(myString.LastIndexOf("/")).Remove(0, myString.LastIndexOf("/") + 1), out int _numb))
                return _numb;
            return null;
        }
 
        static bool myFilter(string myString) 
            => (myString.IndexOf('*') == (myString.Length - 1))
                && myConvert(myString) != null;
        #endregion
И код с их использованием.
C#
1
2
3
            string[] path = new string[] { "Война и мир / Лев Толстой / 3133 / 41* ", "Преступление и наказание / Федор Достоевский / 2144 / 25*" };
            string[] path_filter = path.Where(x => myFilter (x)).ToArray(); // Отбор строк по фильтру
            path_filter.OrderBy(x => myConvert(x)); // Сортировка строк
Добавлено через 1 минуту
Упс... Где-то ошибка. Сейчас подправлю....
Объясните пожалуйста, я не до конца понимаю, как использовать данный код.

У меня уже есть метод, и в нем создаю тело.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Dustupi() 
{ 
Console.Clear(); 
Console.WriteLine("Доступные книги: "); 
Console.ForegroundColor = ConsoleColor.White; 
Console.WriteLine("Название книги / автор / стоимость книги / количество доступных книг\n"); 
Console.ForegroundColor = ConsoleColor.White; 
string path = @"D:\УЧЕБА!\Kursovaya\Новая папка\Nikolenko A. 174-2\bd.txt"; 
foreach (string vdustup in File.ReadLines(path)) // Вывод доступных книг 
{ 
if (vdustup.Contains("*")) 
{ 
Console.WriteLine(vdustup.Trim(new Char[] { '*' })); 
} 
} 
foreach (string vdustup in File.ReadLines(path)) 
{ 
if (vdustup.Contains("*")) 
{ 
int[] intMatch = vdustup.Where(Char.IsDigit).Select(x => int.Parse(x.ToString())).ToArray(); 
Console.WriteLine(string.Join("", intMatch)); 
} 
}
Но у вас тоже методы, и я не могу же просто вставить в тело своего метода?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,105
Записей в блоге: 2
23.09.2018, 18:34
Методы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        #region Сортировка строк из файла и вывод их от наибольшего к меньшему
        static Nullable<int> myConvert(string myString)
        {
            string _str = myString.Remove(myString.LastIndexOf("/"));
            _str = _str.Remove(0, _str.LastIndexOf("/") + 1);
            if (Int32.TryParse(_str, out int _numb))
                return _numb;
            return null;
        }
 
        static bool myFilter(string myString)
            => (myString.IndexOf('*') == (myString.TrimEnd().Length - 1))
                && myConvert(myString) != null;
        #endregion
Использование
C#
1
2
3
4
5
6
7
            string[] path = new string[] { "Война и мир / Лев Толстой / 3133 / 41*  ", "Преступление и наказание / Федор Достоевский / 2144 / 25*" };
            string[] path_filter = path.Where(x => myFilter(x)).ToArray(); // Отбор строк по фильтру
            IEnumerable<string>path_order=  path_filter.OrderBy(x => myConvert(x)); // Ссылка на сортированный список
            foreach (string _str in path_order)
            {
                Console.WriteLine(_str);
            }
Добавлено через 1 минуту
Цитата Сообщение от Billy123 Посмотреть сообщение
Но у вас тоже методы, и я не могу же просто вставить в тело своего метода?
Получится очень сложная строка и практически без возможности отладки. НО если хотите могу скомпоновать Вам

Добавлено через 1 минуту
А какая причина - что Вы не можете использовать методы?
1
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 18
23.09.2018, 18:39  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Методы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        #region Сортировка строк из файла и вывод их от наибольшего к меньшему
        static Nullable<int> myConvert(string myString)
        {
            string _str = myString.Remove(myString.LastIndexOf("/"));
            _str = _str.Remove(0, _str.LastIndexOf("/") + 1);
            if (Int32.TryParse(_str, out int _numb))
                return _numb;
            return null;
        }
 
        static bool myFilter(string myString)
            => (myString.IndexOf('*') == (myString.TrimEnd().Length - 1))
                && myConvert(myString) != null;
        #endregion
Использование
C#
1
2
3
4
5
6
7
            string[] path = new string[] { "Война и мир / Лев Толстой / 3133 / 41*  ", "Преступление и наказание / Федор Достоевский / 2144 / 25*" };
            string[] path_filter = path.Where(x => myFilter(x)).ToArray(); // Отбор строк по фильтру
            IEnumerable<string>path_order=  path_filter.OrderBy(x => myConvert(x)); // Ссылка на сортированный список
            foreach (string _str in path_order)
            {
                Console.WriteLine(_str);
            }
Добавлено через 1 минуту
Получится очень сложная строка и практически без возможности отладки. НО если хотите могу скомпоновать Вам

Добавлено через 1 минуту
А какая причина - что Вы не можете использовать методы?
Все в порядке, разобрался, просто в строке:
C#
1
string[] path_filter = path.Where(x => myFilter(x)).ToArray(); // Отбор строк по фильтру
Пишет ошибку на myFilter(x), "Не удается преобразовать из "char" в "string". Попробовал исправить ошибку добавив новый метод, но вся строка стала ошибкой.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,105
Записей в блоге: 2
23.09.2018, 18:44
Цитата Сообщение от Billy123 Посмотреть сообщение
Объясните пожалуйста, я не до конца понимаю, как использовать данный код.
У Вас же path - это массив исходных строк? Уберите из моего примера строку string[] path = .... Она создана только для отладки.
В строке string[] path_filter =..... - получаете массив отсортированных строк. Признак фильтрации формируется методом myFilter.
В строке IEnumerable<string>path_order =.... - получаете ссылку на перечислитель сортированных строк. Строки сортируются по значению возвращаемому методом myConvert.

Вроде, всё. Ни каких мудрёностей.

Добавлено через 3 минуты
Цитата Сообщение от Billy123 Посмотреть сообщение
Пишет ошибку на myFilter(x), "Не удается преобразовать из "char" в "string"
Что-то не понятное. Там ни где не должен получаться char.
Скиньте свой метод Dustupi с тем как Вы вставили мой код.
0
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 18
23.09.2018, 18:46  [ТС]
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
            void Dustupi()
            {
                Console.Clear();
                Console.WriteLine("Доступные книги: ");
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Название книги / автор / стоимость книги / количество доступных книг\n");
                Console.ForegroundColor = ConsoleColor.White;
                string path = @"D:\УЧЕБА!\Kursovaya\Новая папка\Nikolenko A. 174-2\bd.txt";
                string[] path_filter = path.Where(x => myFilter(x)).ToArray(); // Отбор строк по фильтру
                IEnumerable<string> path_order = path_filter.OrderBy(x => myConvert(x)); // Ссылка на сортированный список
                foreach (string _str in path_order)
                {
                    Console.WriteLine(_str);
                }
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("\n1) Назад\n2) Главное меню\n");
                switch (Console.ReadKey(true).Key)
                {
                    case ConsoleKey.D1:
                        prosmotrbazi();
                        break;
                    case ConsoleKey.D2:
                        GLMENU();
                        break;
                }
            }
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,105
Записей в блоге: 2
23.09.2018, 19:25
Вы в этой строке string path = .... Присваиваете path строку, а должны присвоить массив строк. В начале темы в коде у Вас это переменная vdustup. Вот и преобразуйте её.

Добавлено через 9 минут
В переделанном виде код из начала темы
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
        void Dustupi()
        {
 
            Console.Clear();
            Console.WriteLine("Доступные книги: ");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("Название книги / автор / стоимость книги / количество доступных книг\n");
            Console.ForegroundColor = ConsoleColor.White;
            string path = @"D:\УЧЕБА!\Kursovaya\Новая папка\Nikolenko A. 174-2\bd.txt";
 
            IEnumerable<string> books = File.ReadLines(path);// Получение списка книг из файла
            IEnumerable<string> books_filter = books.Where(x => myFilter(x)); // Отбор строк по фильтру
            IEnumerable<string> books_order = books_filter.OrderBy(x => myConvert(x)); // Ссортированный список
 
            foreach (string vdustup in books_order) // Отсортированный вывод доступных книг
            {
                Console.WriteLine(vdustup.Trim(new Char[] { '*' }));
            }
 
            foreach (string vdustup in File.ReadLines(path))
            {
                if (vdustup.Contains("*"))
                {
                    int[] intMatch = vdustup.Where(Char.IsDigit).Select(x => int.Parse(x.ToString())).ToArray();
                    Console.WriteLine(string.Join("", intMatch));
                }
            }
        }
1
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 18
23.09.2018, 19:52  [ТС]
Простите меня, за мою тупость, я понимаю, что уже выполнили мою работу за меня. Но у меня до сих пор всплывают ошибки, до селе не виданные мною.
Миниатюры
Сортировка строк из файла и вывод их от наибольшего к меньшему   Сортировка строк из файла и вывод их от наибольшего к меньшему  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2018, 19:52
Помогаю со студенческими работами здесь

Сортировка шести чисел от большего к меньшему минимальным количеством перестановок
Шесть чисел (4 6 7 2 3 5) нужно отсортировать от большего к меньшему минимальным количеством перестановок. есть три перестановки 1)...

Как создать массив строк, считывая данные из файла (сортировка данных из файла)
Доброго времени суток мне нужно отсортировать по алфавиту слова , которые содержатся в файле #include &lt;iostream&gt; #include ...

Сортировка и вывод на экран строк из массива
Всем привет кто может подсказать в чём ошибка. При вводе слова, допустим &quot;Антон&quot; пишет мол длина строки не может больше чем 1. Вот...

Сортировка строк файла
Доброго времени суток. Пытаюсь написать что-то наподобие БД. Не могу реализовать алгоритм сортировки строк текста файла. Количество строк...

Сортировка строк из файла
Доброго времени суток. Программа сортирует, но выводит не так как хочется, см. миниатюру. #include &lt;stdio.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru