Форум программистов, компьютерный форум CyberForum.ru

Нестандартные задания - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.68
CFYZ
 Аватар для CFYZ
10 / 10 / 0
Регистрация: 21.11.2009
Сообщений: 187
18.01.2011, 19:09     Нестандартные задания #1
1)Условие:
У вас есть несколько камней известного веса W1, …, Wn. Напишите программу, которая распределит камни в две кучи так, что разность весов этих двух куч будет минимальной.
Исходные данные:
Ввод содержит количество камней N (1 ≤ N ≤ 20) и веса камней W1, …, Wn (1 ≤ Wi ≤ 100 000) — целые, разделённые пробельными символами.

2)Условие:
Ваша задача — найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N.
Исходные данные:
Целое число N (0 ≤ N ≤ 109).
Результат:
Выведите целое число Q. Если такого числа не существует, выведите −1.

3)Условие:
Имеется квадратная матрица размера NxN. Необходимо вывести ее элементы в порядке их появления в диагоналях начиная с левого нижнего конца до правого верхнего. Диагонали идут в порядке от левого верхнего угла к правому нижнему. (см. пример)
Исходные данные:
Целое число N (1 ≤ N ≤ 100) – размерность квадратной матрицы.
Далее следует N строк матрицы с ai элементами, по N в каждой.
Результат:
NxN элементов матрицы через пробел

4)Условие:
Во время лекции по уфоведению студенты В. и Н. не заняты конспектированием. Они играют в словарную игру, которая им более интересна, чем строение жгутикового покрытия обитателей Венеры. Правила игры следующие: имеется слово, обычно состоящее из большого количества букв. Каждый из игроков стремится составить большее количество слов из букв исходного слова. Кроме того каждый стремится составить слово наибольшей длины.
Ваша задача написать программу, которая выявит победителя в игре. Победителем является игрок, составивший большее количество правильных слов (по случайности игрок может употребить букву, не существующую в исходном слове, либо использовать одну и ту же букву больше раз, чем она встречается в исходном слове). В случае равенства количества слов победителем является тот игрок, длина чьих слов в сумме превышает длину слов его соперника.
Исходные данные:
Исходное слово (длина < 25 символов)
N1 – количество слов студента В.
N1 строк со словами, которые составил студент В.
N2 – количество слов студента Н.
N2 строк со словами, которые составил студент Н.
(0 <= N1, N2 <= 100)
Слова не повторяются одним и тем же игроком. Длина каждого составленного слова не превышает количества символов исходного слова. Все слова даются в нижнем регистре английского алфавита (в примере слова написаны транслитом)
Результат:
В единственной строке вывести V, если победил студент В., или N, если победителем является студент Н. (гарантируется, что один из игроков выиграет)

6)Условие:
Администрация библиотеки из-за колоссального посещения заведения студентами решила выяснить, какое наибольшее количество студентов находится одновременно в читальных залах по итогам дня.
Исходные данные:
Дано число посетителей библиотеки за день N
Далее следует N строк с отметками моментов времени прихода и убытия посетителя из заведения через пробел B и E.
(0 <= N <= 100)
(0 <= B, E <= 100)
Результат:
Число – максимальное количество студентов, которые находились в библиотеке по итогам дня.

Помогите если можете, или хотя бы подскажите алгоритмы решения таких задач, или может примеры если у кого есть.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2011, 19:09     Нестандартные задания
Посмотрите здесь:

C++ Задания по C++
Пример задания C++
с задания на курсовой C++
C++ Суть задания
Задания на строки C++
Нестандартные бмблмотеки, которые работают со строками быстрее. C++
Нестандартные функции (сжимающие строку) C++
Задания по с++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
18.01.2011, 21:25     Нестандартные задания #2
Цитата Сообщение от CFYZ Посмотреть сообщение
1)Условие:
У вас есть несколько камней известного веса W1, …, Wn. Напишите программу, которая распределит камни в две кучи так, что разность весов этих двух куч будет минимальной.
Исходные данные:
Ввод содержит количество камней N (1 ≤ N ≤ 20) и веса камней W1, …, Wn (1 ≤ Wi ≤ 100 000) — целые, разделённые пробельными символами.
http://www.cyberforum.ru/cpp-beginne...tml#post886463

Добавлено через 2 минуты
Цитата Сообщение от CFYZ Посмотреть сообщение
2)Условие:
Ваша задача — найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N.
Исходные данные:
Целое число N (0 ≤ N ≤ 109).
Результат:
Выведите целое число Q. Если такого числа не существует, выведите −1.
http://www.cyberforum.ru/cpp-beginne...ml#post1279121
rdksoft
 Аватар для rdksoft
22 / 22 / 2
Регистрация: 24.12.2008
Сообщений: 81
18.01.2011, 21:27     Нестандартные задания #3
Насчёт первой
Можно посчитать всю сумму разделить пополам а потом формировать первую кучу до тех пор пока она не будет удовлетворять этому условию в большей степени(то есть если размер получившейся кучи больше следует попробывать другие значения тоесть обычной подгонкой) а потом из оставшихся сформировать вторую кучу.
Yandex
Объявления
18.01.2011, 21:27     Нестандартные задания
Ответ Создать тему
Опции темы

Текущее время: 01:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru