|
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 60
|
||||||
Что означает код?26.10.2018, 16:34. Показов 1285. Ответов 16
Метки нет (Все метки)
Всем привет! Выполняю задание из курса. Суть задания перебрать все значения и создать гистограмму.
Есть метод, который создает эту гистограмму, но он упрощенный (гистограмма тут показывает кол-во рожденных в конкретный год) Моя задача - это понять что означает этот метод и создать свой с другими параметрами. Вот код. Я создал описание справа всех строк кода, как их понимаю я. как видно, после создания массива мое понимание опускается до минимума, не могу разобраться что делается там.
0
|
||||||
| 26.10.2018, 16:34 | |
|
Ответы с готовыми решениями:
16
Что означает код?
Что означает такой код? |
|
Модератор
|
||
| 26.10.2018, 17:00 | ||
|
Добавлено через 2 минуты В остальном вроде комментарии правильны. Что-то ещё не понятно?
0
|
||
|
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 60
|
||||||
| 26.10.2018, 17:07 [ТС] | ||||||
|
значение maxYear 2002
значение minYear 1893 Они не равны, если +1 убираешь или меняешь то происходит выход за границы массива. Не понимаю почему. Обьясни, пожалуйста, подробнее. Добавлено через 1 минуту
0
|
||||||
|
Модератор
|
|||||||
| 26.10.2018, 17:17 | |||||||
|
Весь Ваш код сводится к 4 строчкам
Допустим, в маленьком массиве у Вас получилось все одного года. Т.е. minYear==maxYear. Выходной массив из скольки элементов должен быть? Из одного или из нуля? То же самое для понимания, посчитайте вручную, для 2, 3 и т.д. разных годов рождения. Арифметика из начальных классов! Растормашитесь чуток!
1
|
|||||||
|
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 60
|
|
| 26.10.2018, 17:20 [ТС] | |
|
Ты, возможно, меня не правильно понял.
Мне нужно лишь помочь разобраться в этом методе, для того, что бы я самостоятельно создал другой метод, по другим данным. Проблема моя в том, что я не до конца понимаю что именно происходит в коде, который я отправил выше. Мне нужно просто обьяснить своими словами для чего мы создаем массивы, перебираем, почему вводим именно те значения. Вот Добавлено через 1 минуту щас буду разбираться, спасибо тебе!
0
|
|
|
Модератор
|
||||
| 26.10.2018, 17:23 | ||||
var years = new string[maxYear - minYear + 1]; создаётся новый одномерный массив типа string[] и с количество членов (длиной массива) maxYear - minYear + 1Добавлено через 1 минуту Добавлено через 1 минуту
0
|
||||
|
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 60
|
||||||
| 26.10.2018, 17:37 [ТС] | ||||||
0
|
||||||
|
1524 / 510 / 126
Регистрация: 09.01.2018
Сообщений: 1,562
|
|
| 26.10.2018, 17:45 | |
|
lexatorgas,
+1, чтобы получить массив диапазона лет включительно Например, я хочу получить массив, в который уместятся все значения лет с 2012 до 2015 включительно. Это: 2012, 2013, 2014, 2015. Т.е. всего четыре значения. Но 2015 - 2012 = 3. Это просто разность, говорящая о том, что с 2012 до 2015 проходит 3 года. Мне же надо включить и 2012-й. Поэтому прибавляется единица.
1
|
|
|
4693 / 2701 / 734
Регистрация: 02.08.2011
Сообщений: 7,227
|
||
| 26.10.2018, 17:50 | ||
|
0
|
||
|
Модератор
|
|
| 26.10.2018, 17:58 | |
|
Границы массива определяются строкой
var birthsCounts = new double[maxYear - minYear +1 ];. Эта строка создаёт массив birthsCounts типа double[] с количеством членов maxYear - minYear +1 и, соответственно, элементы массива будут иметь индексы от нуля до maxYear - minYearПотом в строке birthsCounts[name.BirthDate.Year - minYear]++; записываются значения в элементы этого массива. Индексация элементов производится через выражение name.BirthDate.Year - minYear при name.BirthDate.Year==minYear получается наименьший индекс - ноль. При name.BirthDate.Year==maxYear получается наибольший - maxYear - minYear. Если изменить, то есть уменьшить размер массива, то при индексации по максимальному году - будет выход за его границы.
0
|
|
|
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 60
|
||||||
| 26.10.2018, 18:05 [ТС] | ||||||
В этой строчке кода мы возвращаем что ?? Мы меняем значение метода HistogramData?
0
|
||||||
|
4693 / 2701 / 734
Регистрация: 02.08.2011
Сообщений: 7,227
|
|||
| 26.10.2018, 18:11 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 60
|
||||||
| 26.10.2018, 18:15 [ТС] | ||||||
мы возвращая значения меняем его?
0
|
||||||
|
1524 / 510 / 126
Регистрация: 09.01.2018
Сообщений: 1,562
|
|||
| 26.10.2018, 18:22 | |||
|
Метод: GetHistogramBirthsByYear(NameData[] names) и он возвращает объект типа HistogramData. (вычисляет значения, создает объект типа HistogramData и возвращает его.)
1
|
|||
|
Модератор
|
||
| 26.10.2018, 18:26 | ||
|
Созданный объект возвращается методом.
1
|
||
|
4693 / 2701 / 734
Регистрация: 02.08.2011
Сообщений: 7,227
|
||||||
| 26.10.2018, 18:28 | ||||||
|
lexatorgas, мы ничего не меняем, мы просто создали отдельный класс для хранения данных графика (гистограммы).
Разве не видно, что код return new HistogramData("Рождаемость по годам", years, birthsCounts); создает новый объект и заносит туда только что вычисленные данные?При этом, у Элд Хасп ятп код более правильный, так как в вашем коде года вычисляются так:
То есть массив years - последовательные числа. Но кто сказал, что в массиве NamesData[] names находится непрерывный интервал? Соответственно, у Элд Хасп это исправляется через группировку по годам. И, получается, предоставленный вами код, искажает настоящую картину.
1
|
||||||
|
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 60
|
|
| 26.10.2018, 19:25 [ТС] | |
|
Всех благодарю!
0
|
|
| 26.10.2018, 19:25 | |
|
Помогаю со студенческими работами здесь
17
Разбираю код одной темы, что означает следующий код и зачем он нужен? Что означает код? Что означает код? Что означает код? Что означает код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
Сайт называется reddit: The Thinkpad X220 Tablet is the best budget school laptop period.
Это. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|