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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 158, средняя оценка - 4.96
Spy
0 / 0 / 0
Регистрация: 07.04.2009
Сообщений: 7
#1

Интересные задачи для новичков. - C++

21.04.2009, 21:19. Просмотров 21878. Ответов 43
Метки нет (Все метки)

Подскажите,пожалуйсто,где можно найти список интересных или олимпиадных(школьных) задач.
Заранее благодарен.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2009, 21:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Интересные задачи для новичков. (C++):

Задачи для новичков - C++
Посоветуйте сайт или пособие,где находятся задачи по С++ и есть решения к ним.

Разъяснение алгоритмов задачи о рюкзаке для новичков - C++
Есть несколько алгоритмов решения задачи о рюкзаке. Не могли бы вы написать комментарии к ним объясняющие какая процедура для чего нужна?...

Подскажите пожалуйста хорошую литературу для изучения с++, для новичков - C++
Чтобы подошла человеку , который не сталкивался с программированием , а вот сейчас ему очень срочно и быстро нужно освоить хотя бы главные...

Итераторы для новичков - C++
Я только начинаю изучать язык c++ по книге "Язык программирования С++. Базовый курс 5-е изд 2014(Стэнли Б. Липпман)". упр 3.20 (только...

Вопросы для новичков - C++
Я новичок. Ребята, помогите пожалуйста! Хочу заняться програмированием на C. С ЧЕГО МНЕ НАЧАТЬ????

Массив для новичков - C++
прошу объяснить и помочь с решением задачи 1) дан массив А(50).найти сумму и кол-во нечетных положительных элементов,следующих за...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
21.04.2009, 21:24 #2
Чем тебе этот раздел не список задач.(Валом)
0
rrrFer
Заблокирован
21.04.2009, 21:36 #3
для школьников, например, найти сумму ряда 1/(x*x) , x=1..100000000 точность до 14 цифр в дробной части. ответ 1.64472532272339 недостаточно точный, более точен 1.6449.. остальные цифры не пишу
0
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
21.04.2009, 21:58 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
тест на знание С++
C++
1
2
3
int a = 0;
int b = 1;
int c = a+b; /* результат == 1  */
Постановка задачи: убрать с кода знаки "=". (Желательно, что бы оно ещё потом компилилось ).

Добавлено через 2 минуты 44 секунды
2.Вот: зачем нужно перегружать стандартный оператор присваивания и конструктор копирования, при динамическом распределении памяти в классе?

Добавлено через 12 минут 24 секунды
И 3. при каком условии эта
C++
1
2
3
bool x_func(int x){
    return ((x != 0) && (x == -x)); 
}
функция вернет не "0". (кто знает не спешите отвечать)
3
Evg
Эксперт CАвтор FAQ
17808 / 6014 / 388
Регистрация: 30.03.2009
Сообщений: 16,525
Записей в блоге: 26
21.04.2009, 22:05 #5
> Постановка задачи: убрать с кода знаки "=". (Желательно, что бы оно ещё потом компилилось ).

А цель задачи какая? А то постановку задачи не особо понял

-------------------

Задача. Написать программу, которая будучи скомпилированной компилятором Си выдаст один результат (например, напечатает "Это Си"), а будучи скомпилированная компилятором Си++ выдаст другой результат (например, напечатает "Это Си++"). Условной компиляцией пользоваться нельзя. Т.е. тест на знание различного поведения одних и тех же конструкций на Си и Си++
0
Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
21.04.2009, 22:06 #6
http://www.cyberforum.ru/cpp/thread30970.html
автор этой темы постоянно где-то вытаскивает подобные задачи
1
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
21.04.2009, 22:21 #7
Цитата Сообщение от Evg Посмотреть сообщение
А цель задачи какая? А то постановку задачи не особо понял
Имел в виду что этот
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main()
{
    int a = 0;
    int b = 1;
    int c = a + b;
    cout<<c<<endl;
    return 0;
}
код нужно модифицировать так чтобы в нем не было знака "=", но результат остался не изменим.)
0
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 22:33 #8
ISergey, мне 3 понравилась) 1 и 2, на мой взгляд, не представляют никакой сложности.
0
Evg
Эксперт CАвтор FAQ
17808 / 6014 / 388
Регистрация: 30.03.2009
Сообщений: 16,525
Записей в блоге: 26
21.04.2009, 22:36 #9
Цитата Сообщение от ISergey Посмотреть сообщение
код нужно модифицировать так чтобы в нем не было знака "=", но результат остался не изменим.)
Наверное я тупею, но всё равно не понял... Подозреваю, что "cout << 1 << endl;" - ответ неправильный, но не пойму, чем он противоречит условию
0
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 22:41 #10
Evg, тем что, тебе не надо изменять код..а лишь модифицировать.. a,b,c должны остатся.
0
Evg
Эксперт CАвтор FAQ
17808 / 6014 / 388
Регистрация: 30.03.2009
Сообщений: 16,525
Записей в блоге: 26
21.04.2009, 22:45 #11
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
ISergey, мне 3 понравилась) 1 и 2, на мой взгляд, не представляют никакой сложности.
3-я задача всё-тки читерская. В стандарте есть понятие "unspecified" - это когда стандарт чётко не оговаривает какие-то вещи и оставляет это на усмотрение компилятора. Т.е. за такую характеристику отвечает компилятор, а не стандарт, и компилятор выставляет это в своей документации. К таким характеристикам относятся, например, количетсво битов в байте, а также формат представления чисел

Ну так вот, данная задача имеет решение только в том случае, если используется двоичное представление целых знаковых чисел в дополнительном коде (что соотвествует "обычному" понятию, когда 0xfffff... это -1). Однако на некоторых сигнальных процессорах используется другие форматы представления целых чисел (не помню, как оно правильно называется). В этом формате отрицательное число получается из положительного взведением единицы в старший разряд (т.е. 0x80....01 это -1, 0x80....02 это -2)

Таким образом если подходить совсем честно, то задача имеет решение с оговоркой. Ну это так, к слову. Возможно, что кому-то будет полезно для самообразования

Добавлено через 1 минуту 36 секунд
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Evg, тем что, тебе не надо изменять код..а лишь модифицировать.. a,b,c должны остатся.
Тогда я наверное не понимаю слова "модифицировать". Замена "c=a+b" на "c=1" опять-таки это не правильное решение, только вот объясните почему? Я просто пытаюсь в условие вникнуть
0
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 23:11 #12
Цитата Сообщение от Evg Посмотреть сообщение
Тогда я наверное не понимаю слова "модифицировать". Замена "c=a+b" на "c=1" опять-таки это не правильное решение, только вот объясните почему? Я просто пытаюсь в условие вникнуть
нет, у тебя должны остатся эти переменные... но не должно быть знака равно...

p.s: скажу лишь, что я знаю два разных решения.
0
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
21.04.2009, 23:51 #13
Evg, Забыл сказать в Си такого не сделать(только С++)
PS я по поводу 1 задачи.
0
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
22.04.2009, 00:08 #14
ISergey, ну не скажите... один из вариантов, ну это не тот, который вы подразумевали, компилируется и в си. я его потом придумал) ну он может не совсем тот)
0
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
22.04.2009, 00:11 #15
А решение уж больно простое
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main()
{
    int a(0);
    int b(1);
    int c(a + b);
    cout<<c<<endl;
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2009, 00:11
Привет! Вот еще темы с ответами:

программку не для новичков - C++
Обучаюсь на первом курсе. Пытался решить но безуспешно. :wall:Мне бы образец решения. Заранее благодарю!

Тесты с++ для новичков - C++
Добрый день!Ситуация в следующем,учусь заочно и не на програмиста, дали задание,теории нет и лекций не было ((стараюсь разобраться сама,но...

IDE для новичков - C++
Никак не могу найти себе подходящее IDE, особенно после простейшего Pascal ABC, тупо не понимаю что от меня хотят) Пользовался пробовал...

Для новичков C++ Видео уроки - C++
Ссылка на видео уроки по программированию C++:http://www.youtube.com/playlist?list=PL623796FBAE1FC845 Уроки записывал не я (но я по ним...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.04.2009, 00:11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru