|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.02.2012, 00:29 | #1 |
Пользователь
Регистрация: 07.02.2011
Сообщений: 35
|
Задания по с++
Я уже год изучаю с++. Я многое знаю. Но не могу применить знания на практике. Учу я по книжкам(тк учусь в 9классе). Есть ли сборники задач по с++. Или дайте их сами.
|
22.02.2012, 00:45 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Задание: в консоли сделать текстовую игру "Монополия".
В игре необходимо предусмотреть возможность играть за одним компьютером нескольким игрокам, а так же, игру с неограниченным количеством компъютерных игроков. Предусмотреть для игры дополнительную, отдельную от самой игры утилиту. Это генератор игровой карты мира "Монополия", который позволяет формировать как саму игровую карту (и стартовые параметры всех игроков), так и создавать новые игровые карточки (такие, как "Банк", "шанс", "вас ограбили", и тп). В игре должна быть реализована возможность генерировать новую карту случайным образом любых размеров (от самых маленьких, до крупных из нескольких тысяч клеток). В игре должна быть реализована возможность сохранять/загружать игру. Должна быть реализована специальная утилита, которая позволяет загружать сохраненную игру, и изменять состояние игры (например, добавить денег одному из игроков, и тп). Задача должна быть выполнена в течении 365 дней. Последний раз редактировалось _Bers; 22.02.2012 в 18:16. |
22.02.2012, 17:45 | #3 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,322
|
Banner, подборка задач. Решайте, спрашивайте, разберём.
1. (просто) Написать программу, которая вычисляет частное от деления двух чисел. Программа должна проверять введённые числа, и если делитель равен нулю, выдавать сообщение об ошибке. 2. (просто) Во входном файле записана последовательность натуральных чисел. Количество чисел в последовательности не превышает 100. Выведите в выходной файл количество чисел в последовательности (не считая 0), а потом сами числа. Пример: входной файл: 1 3 5 0 выходной файл: 3 1 3 5 3. (сложно) То же, что и 2, но использовать только функции работы с файлами из WinAPI (CreateFile, WriteFile, ReadFile, и т.д.). 4. (просто) В квадратной таблице N*N подсчитать суммы чисел стоящих на диагоналях. Во входном файле содержится число N (1 <= N <= 100), а затем матрица N*N. Элементы матрицы – числа из диапазона integer. В выходной файл выдать сначала сумму чисел на главной, а затем на побочной диагонали. Пример входного файла: 3 1 2 4 4 5 6 10 9 8 Пример выходного файла: 14 18 5. (средне) Программа получает с помощью генератора случайных чисел целое положительное число. Выводит его на экран и для каждой цифры (0, 1, 2, 3, …, 9) выводит количество вхождений данной цифры в числе. Например: число 12335733 0 – 0 1 – 1 2 – 1 3 – 4 4 – 1 5 – 0 6 – 0 7 – 1 8 – 0 9 – 0 6. (средне) Реализовать класс «матрица», переопределить операции сложения, вычитания, умножения. Реализовать транспонирование. Пользователь сам задаёт размеры матрицы. Проверяются условия, необходимые для выполнения тех или иных действий и выводятся сообщения об ошибках. 7. (просто) Дана квадратная матрица порядка n. В строках с отрицательным элементом на главной диагонали найти наибольший из всех элементов. 8. (просто) Вывести все буквы исходного текста через пробел заглавными буквами. 9. (средне) Решить систему уравнений произвольного порядка (от 2 до 5) или вывести сообщение, если решения нет. Например: порядок 2 1*x1 + 2*x2 = 4 2*x1 + 3*x2 = 7 Ответ: x1 = 2, x2 = 1 10. (средне) Ввод с клавиатуры координат вершин для двух треугольников. Нарисовать на экране треугольники, причём, если один из треугольников помещается внутри другого, закрасить область внешнего треугольника, которая окружает внутренний. 11. (просто) При нажатии кнопкой мыши в клиентской области окна, соединить линией данную точку с точкой предыдущего нажатия. 12. (просто) То же, что и 11, плюс сохранение точек нажатия в файл. |
22.02.2012, 20:43 | #4 |
Пользователь
Регистрация: 07.02.2011
Сообщений: 35
|
Спасибо! При наличии свободного времени прорешаю!!!
|
22.02.2012, 20:49 | #5 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,322
|
Не за что! Не затягивайте. Решите для начала хоты бы простые.
|
24.02.2012, 08:40 | #6 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,322
|
Banner, политика форума такова, что все темы носят общеразвивающий характер. Даже если кто-то из нас заблуждается, то не стоит об этом умалчивать. С большой вероятностью найдутся старшие товарищи, которые укажут на эти заблуждения. Это большое преимущество общения на форуме. Поэтому кроме личного общения давайте развивать вашу тему.
Перед тем, как продолжить разбор вашего кода, проделайте следующее: 1) Скачайте книгу "Совершенный код" Стива Макконнелла (я её покупал в бумажном виде, что и вам советую, год издания моей книги 2007; может есть более новые издания). 2) Найдите в содержании главу "Сила имён переменных". В моей книге это глава 11, стр. 252. 3) Прочитайте указанную выше главу (она небольшая и много времени у вас не отнимет). 4) После прочтения главы постарайтесь исправить имена своих переменных с использованием рекомендаций Стива. 5) В этой же книге найдите в содержании главу "Форматирование и стиль". В моей книге это глава 31, стр. 712. 6) Прочитайте указанную выше главу. Она также небольшая. 7) Отформатируйте ваш код в соответствии с рекомендациями Стива. 8) Выложите сюда ваш код (либо пришлите мне, но лучше в вашу тему). |
24.02.2012, 20:26 | #7 | |
Пользователь
Регистрация: 07.02.2011
Сообщений: 35
|
Цитата:
Если я не так вас понял, есть одно этому объяснение - я девятиклассник Код:
Последний раз редактировалось Banner; 24.02.2012 в 20:31. |
|
25.02.2012, 11:52 | #8 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,322
|
По поводу третьего задания. Вот пример использования CreateFile, WriteFile, ReadFile. Пример кода максимально упрощенный.
CreateFile --> http://msdn.microsoft.com/en-us/library/aa914735.aspx WriteFile --> http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx ReadFile --> http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx Вот все фунции манипуляции с файлами --> http://msdn.microsoft.com/en-us/library/aa916914.aspx А можно скачать документацию "Windows® Platform SDK" --> http://www.microsoft.com/download/en...ng=en&id=18950 Там тоже самое почти. Использую SDK, так как здесь примеров больше. Следующая Программа: - открывает файл (первый вызов функции CreateFile). Примечание - Файл должен существовать и в нём должны быть записаны два числа. Ограничения - Числа должны быть меньше либо равны 9 (и результат тоже). - считывает два целых числа из открытого файла (функция ReadFile) - складывает считанные числа ( sum = a + b; ) - создаёт файл (второй вызов функции CreateFile) - сохраняет результат в этот созданный файл (функция WriteFile) - закрывает файл с входными данными (CloseHandle(hInputFile)) - закрывает файл с выходными данными (CloseHandle(hOutputFile)) Код:
P.S.S. Код ваш попозже посмотрю. Последний раз редактировалось 8Observer8; 25.02.2012 в 12:01. |
26.02.2012, 10:21 | #9 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,322
|
В Dev-C++ есть неудобная опция "Умная табуляция". Я её сразу убрал.
Сервис -> Параметры редактора -> Умная табуляция (убрать галочку) Там же уберите галочку "Использовать табуляцию" и выберите размер табуляции 4. (табуляция будет заменятся четырьмя пробелами) И перед тем, как выкладывать код поставьте галочку "Показывать невидимые символы" (здесь же в параметрах редактора). Посмотрите на код и удалите ненужные пробелы. Верните галочку обратно. Вот ваш код после форматирования (выравнивания). Неправда ли намного легче читать! Код:
P.S.S. По поводу системных вызовов операционной системы: используйте их только в случае крайней необходимости, когда, к примеру, в стандартной библиотеке языка нет нужных средств. Но изучать их всё-равно нужно. P.S.S.S. Обратите внимание, что в редакторе Dev-C++ есть ограничительная вертикальная линия справа. Вот за эту линию старайтесь не вылазить со своими комментариями. Последний раз редактировалось 8Observer8; 26.02.2012 в 10:30. |
27.02.2012, 16:38 | #10 | |
Пользователь
Регистрация: 07.02.2011
Сообщений: 35
|
Цитата:
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задания с++ | pksvova | Общие вопросы C/C++ | 6 | 01.11.2011 00:52 |
Задания | pr0kazn1k | Фриланс | 5 | 22.12.2010 00:22 |
Задания | BrosJke | Общие вопросы Delphi | 1 | 24.05.2010 07:24 |
3 задания Си | nariku | Помощь студентам | 39 | 22.10.2009 15:43 |