Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.62/125: Рейтинг темы: голосов - 125, средняя оценка - 4.62
Доктор ТуамОсес
Заблокирован
1

Список вопросов по C++ для желающих проверить свои знания C++

08.12.2010, 23:29. Просмотров 22563. Ответов 328
Метки нет (Все метки)

Я пишу книгу "Сборник тестовых вопросов и задач на знание C++ и умение его применять для решения конкретных задач.".
Предлагаю Вашему вниманию её текущую версию (бильд).
12
Вложения
Тип файла: rar FAQ C++ (Build6)20101208231403.rar (31.2 Кб, 659 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 23:29
Ответы с готовыми решениями:

Контрольная работа(( проверь свои знания):D
помогите пожалуйста сделать контрольную работу, мне нада сделать её хорошо или...

Как подтверждать свои знания при устройстве на работу?
Добрый день! Вопрос к тем кто уже работает программистами или кем-то другим. ...

Реальная задача для реального проекта для желающих покодить
Привет:) Попросили сделать парсер сайта по-дружески, но у меня реально...

Список вопросов по Borland C
Помогите решить,скоро перездача,а я только начал готовиться......Все вопросы-в...

Где можно протестировать свои знания JS для резюме?
подскажите сайт где можно оценить свои знания в js, чтобы смело можно было...

328
Доктор ТуамОсес
Заблокирован
28.10.2011, 22:09  [ТС] 261
Цитата Сообщение от Сыроежка Посмотреть сообщение
Может быть я что-то не углядел, но не совсем понятен смысл этого примера. В объявлении переменной i отсутствует спецификатор типа. Насолкьок мне известно, в С++ только у функций может отсутствовать спецификатор типа, и тогда по умолчанию принимается тип возвращаемого значения int. Однако это правило не действует при объявлении объектов, хотя некоторые старые компиляторы, как, например, Borland C++ Builder 5.0 вполне возможно могут пропускать без внимание данное определение.
Если компилятор новый, то он уже "споткнется" на этом определении объекта, а дальше скорей всего сообщит, что такой идентификатор, как i, не объявлен.
Если же компилятор старый и примет для этого определения i значение типа int, то он споткнется на следующей строчке, где имеется попытка изменить константный объект.

Короче говоря, я не вижу никакой содержательной полезности данного примера.
Т.е. (если опустить "воду" из Вашего сообщения) Ваш ответ: "компилятор в любом случае будет ругаться на прогу, содержащую данный фрагмент кода".

Так?

Добавлено через 8 минут
Цитата Сообщение от Deviaphan Посмотреть сообщение
По умолчанию int.


Ахаха. Я вторую строчку даже читать не стал, а там ещё ошибка.) Так что вариант 1, дважды.)
Не торопитесь. Вопрос не так прост как кажется.

Не думаете же Вы что разработчик новых парадигм в программировании, которые сотрясут цивилизацию (т.е. цивилизатор), разработчик новых концепций построения систем виртуальных миров ("цифровых вселенных"™) и просто автор самых лучших книг по С++ будет задавать простые вопросы?
0
greeezz
275 / 168 / 21
Регистрация: 10.07.2011
Сообщений: 441
28.10.2011, 22:18 262
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Вопрос не так прост как кажется.
код не будет скомпилироваг потому что в первой строке надо указывать тип переменной.
а во вторых строка два не может иметь место так как если даже указать тип переменной при инициализации, константную переменную менять нельзя.
если убрать const то в итоге будет предупреждение что происходит потеря данных при конвертации дабл в инт.

что сложного тут?
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
28.10.2011, 22:25 263
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Не думаете же Вы что разработчик новых парадигм в программировании, которые сотрясут цивилизацию (т.е. цивилизатор), разработчик новых концепций построения систем виртуальных миров ("цифровых вселенных"™) и просто автор самых лучших книг по С++ будет задавать простые вопросы?
я так и знал, что это не вы книжки пишете
позовите же автора, а то тема становится неимоверно тупа
4
Olga_
842 / 184 / 18
Регистрация: 01.08.2011
Сообщений: 502
28.10.2011, 22:25 264
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
разработчик новых парадигм в программировании, которые сотрясут цивилизацию, разработчик новых концепций построения систем виртуальных миров и просто автор самых лучших книг по С++...
Скромности вам не занимать. А можно такой вопрос. Вы говорили, что являетесь доктором технических наук. Расскажите о ваших достижениях, ссылки на ваши статьи, учебные пособия, монографии, чтобы понять насколько к вам можно серьезно относиться. Или нечем похвастаться?
5
Доктор ТуамОсес
Заблокирован
28.10.2011, 23:30  [ТС] 265
Цитата Сообщение от alex_x_x Посмотреть сообщение
я так и знал, что это не вы книжки пишете
позовите же автора, а то тема становится неимоверно тупа
Согласен! Тема становиться тупой от того, что Вы так толсто и бездарно и тупо троллите.
Тоньше надо. Тоньше
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
28.10.2011, 23:33 266
Доктор ТуамОсес, а вы должно быть тонко?
и да
Цитата Сообщение от Olga_ Посмотреть сообщение
Скромности вам не занимать. А можно такой вопрос. Вы говорили, что являетесь доктором технических наук. Расскажите о ваших достижениях, ссылки на ваши статьи, учебные пособия, монографии, чтобы понять насколько к вам можно серьезно относиться. Или нечем похвастаться?
0
Доктор ТуамОсес
Заблокирован
28.10.2011, 23:37  [ТС] 267
Цитата Сообщение от greeezz Посмотреть сообщение
код не будет скомпилироваг потому что в первой строке надо указывать тип переменной.
а во вторых строка два не может иметь место так как если даже указать тип переменной при инициализации, константную переменную менять нельзя.
если убрать const то в итоге будет предупреждение что происходит потеря данных при конвертации дабл в инт.

что сложного тут?
Т.е. больше версий ответа у вас нет? И Вы хотите сказать, что программа, содержащая указанный мной фрагмент
однозначно не скомпилируется?

Плохо же Вы знаете цЭплис
0
OstapBender
584 / 523 / 75
Регистрация: 22.03.2011
Сообщений: 1,585
28.10.2011, 23:46 268
Доктор ТуамОсес, ну поведайте нам свою трактовку данной ситуации, и когда оно может скомпилироваться
0
Olga_
842 / 184 / 18
Регистрация: 01.08.2011
Сообщений: 502
28.10.2011, 23:48 269
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Согласен! Тема становиться тупой...
После странных ваших аббревиатур, странных фраз что вы еще хотите? Если не даете ссылок на ваши труды, то к вам как к ученому нельзя относиться, да и правда ли это, может вы просто как в известном фильме присвоили себе прозвище "доктор" (там был доцент). Вы поймите, с учеными степенями не шутят, не за красивые глазки их дают, а за серьезные достижения, особенно, о области физ-мат и естественных наук.
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
29.10.2011, 00:10 270
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
3
4
5
6
7
#define const double
 
int main()
{
  const i = 10;
  i = i + 1.618;
}
скомпилируется, но не по стандарту
5
Доктор ТуамОсес
Заблокирован
29.10.2011, 00:20  [ТС] 271
Цитата Сообщение от alex_x_x Посмотреть сообщение
C++
1
2
3
4
5
6
7
#define const double
 
int main()
{
  const i = 10;
  i = i + 1.618;
}
"И это правильный ответ

Цитата Сообщение от alex_x_x Посмотреть сообщение
скомпилируется, но не по стандарту
Стандарт запрещает использовать препроцессорные директивы?
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
29.10.2011, 00:23 272
запрещает в качестве имен макросов использовать keywords
0
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
29.10.2011, 00:25 273
Что за бред... Так можно любую белиберду написать и сказать, что она скомпилится. Условие задачи было не полным, задача не на знание языка.
1
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
29.10.2011, 00:27 274
хотя вроде нельзя делать только #define define .. )
надо искать
0
Bers
Заблокирован
29.10.2011, 00:29 275
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
#define const double
Нужно иметь особую фантазию, что б додуматься до такого извращения.


Тут речь о знании языка, или конкурс за звание лучшего извращенца?
1
grizlik78
Эксперт С++
1988 / 1480 / 192
Регистрация: 29.05.2011
Сообщений: 3,059
29.10.2011, 00:29 276
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
3
4
#if 0
  const i = 10;
  i = i + 1.618;
#endif
7
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
29.10.2011, 00:31 277
Лучший ответ Сообщение было отмечено как решение

Решение

grizlik78, чего уж там
C++
1
2
3
4
/*
  const i = 10;
  i = i + 1.618;
*/
7
greeezz
275 / 168 / 21
Регистрация: 10.07.2011
Сообщений: 441
29.10.2011, 01:57 278
Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Т.е. больше версий ответа у вас нет?
Чувствую подтекст хитреца в вопросе.
У меня есть еще одна версия. Она заключается в том что если мы будем писать программы объявляя в заголовке что-то типа #define const double, то читабельность такого кода снизится до минус бесконечности.
Конечно, круто знать тонкости того что позволено стандартом, а что не позволено, но это не значит что все что позволено нужно использовать. К примеру возможно вернуть рефернс на прайвет переменную класса, но это не значит что это нужно применять.
P.S. еще хочу добавить что если вы почитаете что пишут студенты в разделе для начинающих вы поймете что такие задачи им не то что задавать нельзя, им такое нельзя рассказывать! Потому что они начнут это применять и результаты будут неутешительными.
1
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
29.10.2011, 06:48 279
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
"И это правильный ответ"©
Т.е. вас не смущает, что препроцессор как бы это не С++...

Следующий вопрос в книге: "Что делает та программа?"
C++
1
int main(){ return; }
"Правильный" ответ:
C++
1
2
3
4
5
6
7
// без подсказки юным вредителям.)
#define return  { ФОРМАТ_Д }
 
int main()
{
     return;
}

Цитата Сообщение от Доктор ТуамОсес Посмотреть сообщение
Стандарт запрещает использовать препроцессорные директивы?
Стандарт запрещает писать программы людям, у которых отсутствует логика и здравый смысл.
3
talis
793 / 545 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
29.10.2011, 11:25 280
Лучший ответ Сообщение было отмечено как решение

Решение

#define const double
Ага, так тоже можно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <iomanip>
#include <ctime>
 
#include <unistd.h>
 
#define true  bool( clock() % 2 )
#define false ( !(clock() % 2) )
 
int main( )
{
    for( int i = 0; i < 50; i++ )
    {
        std::cout << "True is " << std::boolalpha << true
                  << ", and false is " << std::boolalpha << false << ".\n";
 
        usleep( 25000 );
    }
 
    return 0;
}
Только не нужно.
4
29.10.2011, 11:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2011, 11:25

Испытай свои знания
По информатике задали задание на массивы. Я ваще в них не вдупляю Вот они:...

Все дружно проверяем свои знания!!!:-)
1. (60c.) Какое из имен используется для задания текста процедур, функций,...

Написание тетриса на winapi поможет сильно улучшить свои умения/знания?
Где-то читал, что написать тетрис на winapi поможет сильно улучшить свои...


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

Или воспользуйтесь поиском по форуму:
280
Закрытая тема Создать тему
Опции темы

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