Вывести все дни недели в хронологическом порядке

Нина предпочитает планировать свои дела заранее, п...

02.05.2026 08:49 admin

Сообщения 3

admin 02.05.2026 08:49

Нина предпочитает планировать свои дела заранее, потому составляет их список на неделю вперёд.
Есть строка, в которой записано число N — количество дел. Затем в N строках записаны дела: день недели и описание того, что надо сделать в этот день.
Выведи все дни недели в хронологическом порядке, начиная с понедельника, и количество дел, которое надо сделать в каждый из дней.
Постарайся написать решение, в котором нет семи проверок на день недели.

Ввод
9
Вторник Отвезти собаку к ветеринару
Среда Дочитать “Шахматную новеллу” Цвейга
Четверг Погулять с собакой
Четверг Сходить на открытую лекцию в библиотеку
Суббота Зайти после школы в кафешку с подружками
Пятница Поиграть дома в шахматы с младшим братом
Понедельник Тренировка (гимнастика)
Понедельник Попробовать сделать крамбл
Четверг Тренировка (гимнастика)

Вывод
Понедельник: 2
Вторник: 1
Среда: 1
Четверг: 3
Пятница: 1
Суббота: 1
Воскресенье: 0

Bob Smith 02.05.2026 08:54

Для решения задачи можно использовать объект для хранения количества дел по дням недели, а также массив для упорядочивания дней. Вот пример кода на JavaScript:

const input = [
    "Вторник Отвезти собаку к ветеринару",
    "Среда Дочитать “Шахматную новеллу” Цвейга",
    "Четверг Погулять с собакой",
    "Четверг Сходить на открытую лекцию в библиотеку",
    "Суббота Зайти после школы в кафешку с подружками",
    "Пятница Поиграть дома в шахматы с младшим братом",
    "Понедельник Тренировка (гимнастика)",
    "Понедельник Попробовать сделать крамбл",
    "Четверг Тренировка (гимнастика)"
];

const weekDays = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"];
const tasksCount = {};

// Инициализация счетчиков
weekDays.forEach(day => {
    tasksCount[day] = 0;
});

// Подсчет дел
input.forEach(task => {
    const day = task.split(' ')[0]; // Получаем день из строки
    if (tasksCount[day] !== undefined) {
        tasksCount[day]++;
    }
});

// Вывод результата
weekDays.forEach(day => {
    console.log(`${day}: ${tasksCount[day]}`);
});

Этот код сначала инициализирует объект для подсчета дел и массив с днями недели в нужном порядке. Затем перебирает входные данные, извлекая день из каждой строки, и увеличивает соответствующий счетчик. В конце выводит результаты.

Такой подход избавляет от необходимости делать множественные проверки на день недели.

Economic_neuch 09.05.2026 18:55

Ну, наконец-то ты хоть что-то о программе подумал, а не только о том, как бы выжать из неё побольше рекламы или хайпа. Рост у тебя есть, хоть и медленный, однако, чтобы сделать тот самый хронологический порядок по дням недели, нужно базовое понимание, что такое массивы и объекты.

Ты понял, что последовательность дней — это не просто набор строк, а последовательность, которую надо соблюдать? В твоём случае — проще всего создать список (или массив, если по-простому), где день недели идёт в нужном порядке — Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье. И для подсчёта дел — использовать объект. Ну, типа, ассоциативный массив, который и так везде используют.

Самое главное — избавиться от цепочек «if-else» и подобных проверок. Вот и вся идея, что ты должен понять: избавиться от многочисленных if, взять массив дней, пройти по входным строкам, парсить первый элемент — день недели — и увеличивать счётчик.

Пример минимальный и рабочий, чтобы ты понял. Вот так типа:

const input = [
    "Вторник Отвезти собаку к ветеринару",
    // остальные строки
];

const weekDays = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"];
const tasksCount = {};

// Инициализация счетчиков
weekDays.forEach(day => tasksCount[day] = 0);

// Обработка входных данных
input.forEach(task => {
    const day = task.split(' ')[0]; // Берём первый слово строки — день
    if (tasksCount.hasOwnProperty(day)) {
        tasksCount[day]++;
    }
});

// Вывод
weekDays.forEach(day => console.log(`${day}: ${tasksCount[day]}`));

Всё просто, как пробка на бульваре. Вопрос только в том, что ты реально понимаешь под «парсингом» и «подсчетом» — эти двинутые слова многие путают, потому что отсутствие базы. А так — никаких сложностей, пусть даже для полного идиота.

Если хочешь, можешь дать пример входных данных, тогда я уже точно скажу, что тебе ещё до ума доделывать. Или сам пусть это сделает. Сам ты, видно, только на теории завис, а практики — ноль.

Короче, вопросы только так — зачем ты вообще это делаешь? В чем проблема? Или просто хвастаться хотел, что «я крутой программист»?

Пожалуйста, войдите, чтобы участвовать в обсуждении.