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

Вывести авторов с максимальным кол-вом написанных страниц

29.05.2019, 01:50. Показов 855. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Есть структура Library. Нужно вывести автора(-ов) с максимальным кол-вом страниц. Отсортировать не получается, компаратор не понимаю, просмотр каждой записи foreach'em тоже в голове полностью не укладывается
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct Library
    {
        public string title;
        public string author;
        public int Number_of_Pages;
        public int Year;
        
        public Library(string t, string a, int n, int y)//конструктор
        {
            title = t;
            author = a;
            Number_of_Pages = n;
            Year = y;
        }
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2019, 01:50
Ответы с готовыми решениями:

Показать название книги с максимальным кол-вом страниц по каждому из издательств
Добрый день. Прошу помощи в данном запросе. Как найти максимальное количество страниц к издательству получилось, а как еще вывести...

Вывести слово с максимальным кол-вом символов
Добрый день. Я хожу к репетитору по программированию (с++). Пока просто пытаюсь понять азы. На дом было дано задание, которое заключается в...

запись с максимальным кол-вом повторений
допустим, есть следующая таблица из 1 колонки: КОЛОНКА1 1 1 2 3 2 3 1

3
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
29.05.2019, 06:04
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp13
{
    public struct Library
    {
        public string title;
        public string author;
        public int Number_of_Pages;
        public int Year;
 
        public Library(string t, string a, int n, int y)//конструктор
        {
            title = t;
            author = a;
            Number_of_Pages = n;
            Year = y;
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            int ind = 0;
            int Num = 10;
            Console.WriteLine("Введите данные:");
            Library [] a = new Library [Num];
            for (int i = 0; i < Num; i++)
            {
                Console.Write("Название:  ");
                a[i].title = Console.ReadLine();
                Console.Write("Автор:  ");
                a[i].author = Console.ReadLine();
                Console.Write("Количество страниц:  ");
                a[i].Number_of_Pages = Convert.ToInt32(Console.ReadLine());
                Console.Write("Год:  ");
                a[i].Year = Convert.ToInt32(Console.ReadLine());
               
            }
 
            int maxVal = Int32.MinValue;
            for (int i = 0; i < Num; i++)
            {
                if (a[i].Number_of_Pages > maxVal)
                {
                    maxVal = a[i].Number_of_Pages;
                    ind = i;
                }
            }
            Console.WriteLine("Автор с наибольшим количеством страниц: ");
            Console.WriteLine("{0,-20}{1,-20}{2,15}{3,15}\n","Название",  "Автор", "Кол.страниц", "Год");
            Console.WriteLine("{0,-20}{1,-20}{2,15}{3,15}", a[ind].title, a[ind].author, a[ind].Number_of_Pages, a[ind].Year );
 
 
            Console.ReadKey();
        }
    }
}
2
6 / 3 / 3
Регистрация: 21.04.2019
Сообщений: 20
29.05.2019, 09:04
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
using System;
using System.Linq;
 
namespace ConsoleApp13
{
    public struct Library
    {
        public string title;
        public string author;
        public int Number_of_Pages;
        public int Year;
 
        public Library(string t, string a, int n, int y)
        {
            title = t;
            author = a;
            Number_of_Pages = n;
            Year = y;
        }
    }
 
    internal class Program
    {
        private static void Main(string[] args)
        {
            int num = 3;
            Console.WriteLine("Введите данные:");
            Library[] books = new Library[num];
            for (int i = 0; i < num; i++)
            {
                Console.Write("Название:  ");
                books[i].title = Console.ReadLine();
                Console.Write("Автор:  ");
                books[i].author = Console.ReadLine();
                Console.Write("Количество страниц:  ");
                books[i].Number_of_Pages = Convert.ToInt32(Console.ReadLine());
                Console.Write("Год:  ");
                books[i].Year = Convert.ToInt32(Console.ReadLine());
            }
            var bestAuthors = books.Where(s => s.Number_of_Pages == books.Max(str => str.Number_of_Pages)).Select(s => s).ToArray();
            Console.WriteLine("Автор(ы) с наибольшим количеством страниц: ");
            foreach (var current in bestAuthors)
            {
                Console.WriteLine($"Автор: {current.author}, книга: {current.title}, год: {current.Year}, страниц: {current.Number_of_Pages}");
            }
            Console.ReadKey();
        }
    }
}
Тоже, только с LINQ, и да, авторов с наибольшим количеством страниц может быть несколько.
1
384 / 184 / 107
Регистрация: 07.01.2016
Сообщений: 496
29.05.2019, 09:26
Ifko_O,
C#
1
2
3
4
5
6
7
8
9
10
            // набор случайных экземпляров Library
            var lib = Enumerable.Range(0, 1000).Select(x => new Library("", new string(Enumerable.Range(0, rand.Next(5, 10)).Select(y => (char)rand.Next(65, 91)).ToArray()), rand.Next(50, 100), 1968)).ToArray();
            foreach (var a in lib
                .GroupBy(x => x.Number_of_Pages) // группировка по количеству страниц
                .OrderByDescending(y => y.Key) // сортировка групп по количеству страниц
                .First() // выбрать группу с максимальным количеством страниц
                .Select(x => x.author)) // вытащить строки с авторами)
            {
                Console.WriteLine(a);
            }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.05.2019, 09:26
Помогаю со студенческими работами здесь

как вытащить из БД строку с максимальным кол-вом баллов?
Подскажите,как вытащить строку,где максимальное кол-во баллов,я слышал надо через count().И еще,как например,вытащил строку где...

Вывести все слова с заданным кол-вом символов
парни помогите пожалуйста...очень срочно нужно ( Ввести текст.Вывести все слова с заданным кол-вом символов

Вывести N слов с наибольшим кол-вом сочетаний двух согласных
Дан файл, содержащий русский текст. Найти в тексте N&lt;=2000 слов, содержащих наибольшее количество сочетаний из двух согласных. Записать...

Массив: Вывести номер строки c макс. кол-вом одинаковых элементов
Люди помогите. Вообще не представляю как это сделать: Дана целочисленная матрица размера M×N. Вывести номер её первой строки,...

Дана строка. Найти и вывести на экран группы с четным кол-вом символов
Дана строка, состоящая из групп нулей и единиц. Найти и вывести на экран группы с четным кол-вом одинаковых символов


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru