Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Интересные и занимательные задачи по программированию > C/C++


Автор: mr.Anderson 3.8.2005, 17:04
Странно, а почему тут нет раздела задачек по языку Си++ (ну, или Си)?
Я как раз хотел попросить несколько задачек. Только попроще. Начиная от простого и к сложному. Хотя бы 3-4 задачки. Хочу закрепить то, что уже в Си++ понял. smile

Автор: En_t_end 4.8.2005, 12:28
http://www.helmi.ru/caklon/lescpp.html - было это давно smile Условия задач из книги моего любимого автора - Уолтера Савитча. Задач куча. Решал сам, но проверял, поэтому, думаю, проверять по моему решению можно smile

Автор: mr.Anderson 4.8.2005, 16:16
Ух ты. Спасибо, сейчас буду рыть. smile О том, что решил, напишу здесь, наверное. Код можно будет выложить?

Автор: gris 4.8.2005, 16:34
www.cpp.kazan.ws
самопальный ресурс, сделанный мною для того, чтобы как-то структурировать выполненные задания и не потерять решения)) все задачи как раз для новичков. есть ответы к ним, если потребуется, но скорее всего не потребуется. тем более, что они без комментов (лень было писать )))

Автор: En_t_end 4.8.2005, 19:18
sim7
Мой тебе совет, решай все задачи, любую которую видишь, которую тебе дали - решай, самое главное не останавливаться. Хорошо комментируй свое решение(моя ошибка - плохо описывал smile ), причем решай не только задачи по Си, ищи задачи на любой язык. Учись портировать условие под язык, которым ты владеешь. Всегда!!! разбивай одну задачу на подзадачи, только не переусердствуй, выделяя в функции по несколько строчек кода.

Автор: Pakshin A. S. 4.8.2005, 21:21
Цитата(sim7 @ 4.8.2005, 17:16)
Код можно будет выложить?

Если ошибки искать или проверять, то не советую... Да и вообще не советую выкладывать что-либо в эту тему, т. к. пост будет квалифицирован как оффтопик. Здесь должны быть только тексты задач или ссылки на задачи.

Автор: mr.Anderson 5.8.2005, 16:45
Ладно, учту.
En_t_end, однако, не нашел я там для себя интересных задач. Не понравилась мне ни одна...
Зато с вашего форума из раздела "Литература" скачал отличный учебник К.Ритчи по С++ (что ж вы о нем не сказали-то smile ) - там все очень понятно объясняется, да еще и задания после параграфов есть. Очень здорово, сейчас над ними бьюсь. Ритчи форевер. smile
А вот задачка из этого учебника. Я сейчас сам ее решаю. Текст привожу со своими добавлениями для усложнения. smile
Цитата
Итак, ваше задание.
Пользователь вводит некоторый текст. По выбору пользователя нужно либо сразу подсчитать количество пробелов, табуляций и переносов строк, либо сначала сохранить текст в файл, а уж потом произвести подсчеты.
Условия:
1. Программу надо сделать как консольное приложение. (через Console Wizard, если вы пользуете C++ Builder).
2. Учесть возможность того, что файл, в который вы будете записывать пользовательский текст, может не существовать. Если файла не существует, то сначала его надо создать, а только потом открыть для чтения.

Задачка довольно интересная.

Автор: mr.Anderson 5.8.2005, 20:07
Эту уже решил. Не без помощи ув. винградовцев. smile
Вот еще задачка. Задачка для новичков, подойдет для решения тем, кто только начал учиться программированию на С++. Она из того же учебника.
Цитата
Задача: написать программу, принимающую вводимый пользователем текст, и преобразовывающая его так, чтобы каждое слово печаталось на отдельной строчке.

Условия:
1. Не мудрите. Не стройте дополнительных функций. В задаче достаточно использовать только главную функцию main().
2. В программе необходимо учесть нажатие клавиши Enter (если в коде не прописать обработку нажатия энтера, то консольное приложение просто переводит указатель позиции курсора в начало строки). Постарайтесь это исправить.
3. Как всегда, программа должна быть написана как консольное приложение.

Если кому нужно, то вот подсказки:
1. Определить, слово перед вами или нет, поможет инструкция if. Проверку производим так: если след. символ - не пробел, не табуляция, не перевод строки, дополнительная подсказка: и не Enter, то этот символ - конец слова.
2. Существенная подсказка: чтобы сделать проверку на нажатие энтера, проверьте принадлежность текущему символу значения 13 (это код кнопки энтер).

Автор: Pakshin A. S. 5.8.2005, 21:31

 ! 
 
Предупреждение читающим эту тему: даже и не пытайтесь обсуждать здесь вышеизложенные задачи!

Автор: Mayk 19.8.2005, 16:05
Пусть есть некое перечесление:
Код

enum{red,green,blue,cyan, yellow, purple, white, black, brown, gray};

1) реализуйте множество(set) для этих элементов(и подобных им перечислений) через следующие ф-ции:
set_t* set_new(); - создать новое пустое множество
set_t* set_put(set_t*, int c); - добавить в множество, допустим, цвет.
int set_check(set_t*, int c); - ф-ция должна вернуть не нулевое значение в том случае, если множество содержит указанный элемент, допустим, цвет
int set_count(set_t*); - возвращает кол-во элементов в множестве.
void set_delete(set_t* s); - удалить множество
int set_merge(set_t* lhs, const set_t* rhs) - объединить левое множество с правым.

2) Реализуйте те же функции использую в качестве их тела лишь одно выражение, то есть
Код

int set_count(set_t* s)
{
    return чего-то-там-очень-страшное;
}

3) Если ваша реализация множества поддерживает менее 128 элементов, усовершенствуйте её таким образом, чтобы она обеспечивала хранение 128 элементов. Постарайтесь сделать это, не нарушая 2) - одна ф-ция - одно выражение.

Автор: Ignat 24.8.2005, 13:24
Pakshin A. S., а где же их обсуждать?

Автор: Pakshin A. S. 24.8.2005, 21:30
Здесь столько сборник. Для обсуждения можно использовать вот это:
1) http://forum.vingrad.ru/index.php?act=Post&CODE=00&f=143
2) http://forum.vingrad.ru/index.php?showforum=1

Автор: 916 18.9.2005, 12:59
www.olympiads.ru архив задач Московских олимпиад.

Автор: xcf 2.2.2006, 21:32
я щас изучаю си\си++ и для начала подходит задачник Культина помойму там все есть чтобы начать програмировать от простейших примеров до написаия баз дахых

Автор: kaa 17.6.2006, 12:49
А для С# что-нить есть? А то всё си++ да с...  smile 
Опыт кодинга нужен, а что кодить вот хуть режте не придумаю. smile  

Автор: golberg27 15.8.2006, 09:42
Цитата(xcf @ 2.2.2006,  21:32)
я щас изучаю си\си++ и для начала подходит задачник Культина помойму там все есть чтобы начать програмировать от простейших примеров до написаия баз дахых

Не мог бы ты дать полное название книги или может даже ссылку, где можно качнуть ее?  smile  smile 

Автор: PuLN 19.8.2006, 18:48
http://c-books.info/books/load.php?ty=c
вот ссылка

Автор: AladdiN 23.11.2006, 18:01
Отлично! Кому-то нужна ПРАКТИКА, а кому-то помощь! Так давайте поможем друг другу!=))) 

Требуется разработать транслятор для перевода словарной записи любого натурального числа от 1 до 999 в эквивалентный цифровой формат. Это преобразование должен обеспечивать грамматический разбор фраз, 
 ! 
Pakshin A. S.
В данном разделе не решают индивидуальные задачи, создайте отдельную тему...


З.Ы. Вышлите,плиз, прогу на [email protected]
Заранее ОГРОМНОЕ спасибо!

Автор: Zloi_kot 21.1.2007, 10:06
Здравствуйте люди добрые!!  Подскажите пожалуйста где взять задачник по с++ где бы можно было найти много задачек разной сложности, например и просто с массивчиками чегонить опделать и с классами помутить. Хотелось бы чтобы в сборничке были не слишком мудреные задачки ибо их надо для школьников 9-11 класса но и не такие мол "запишите в переменную типа дабл число 12.5". Если есть ссылочка поделитесь пожалста

Автор: V.A.KeRneL 21.1.2007, 14:40
Zloi_kot, тебе уже в http://forum.vingrad.ru/topic-119496/15.html#entry919845 сказалти, что нужно воспользоваться поисковиком.
Не знаешь хороших интернет-поисковиков? http://google.com/
Можно ещё воспользоваться http://forum.vingrad.ru/act-Search/f-143.html.

И вообще, для поиска компьютерной литературы существует специальный раздел: http://forum.vingrad.ru/wanted.html.
Обязательно посмотри там следующие темы: 
1) http://forum.vingrad.ru/topic-128870.html
2) http://forum.vingrad.ru/topic-127992.html
Ну и другие, какие найдёшь... 
Если не поможет, можешь задать там этот вопрос ещё раз, по-своему. 
Успехов в поиске!

Автор: Strannik 5.2.2007, 00:17
А здесь должны быть задачи или упражнения? если задачи - учим английский, (C++||C#||Java||VB) и строем идём на http://www.topcoder.com/tc, в среднем 1-2 раза в неделю участвуем в SRM. 

Автор: Belyash 24.7.2010, 07:20
Могу подсказать интересную задачку... 
Напиши программку, которая на входе получает дату (Например 25 06 1996), а на выходе выдает день недели, на который пришлась эта дата. (Данные, которые понадобятся при написании программки: в обычном году 365 дней, в високосном 366, в феврале обычного года 28 дней, в феврале високосного года 29, високосный год - это год, номер которого делится на 4 без остатка, ну например 1996 или 2000...) Сам писал, достаточно интересно, еще хочется посмотреть на ваши способы решения, у этой задачи, я думаю, их целая куча. 

Автор: Abyx 4.8.2010, 12:54
думаю поможет boost.date_time

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)