Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/2345: Рейтинг темы: голосов - 2345, средняя оценка - 4.54
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562

Задачи для тренировки и лучшего понимания

15.07.2010, 05:53. Показов 521391. Ответов 1272
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят. Кто-нибудь может дать задачу для тренировки? Приблизительно по всему курсу С++. Буду благодарен за сложную задачу, но которую способен сделать новичок-любитель. Затраты сил-времени не важно. Главное, чтобы это было интересно и не слишком рутинно. + Если найдется человек который даст задачу просьба помогать с кодом, который я буду себя скидывать. Не переписывать за меня, но указывать на ошибки и желательно объяснять. Заранее спасибо.

Список задач, решение которых присутствует в данной теме:
44
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2010, 05:53
Ответы с готовыми решениями:

Элементарные программы, для лучшего понимания языка...
Здравствуйте. Вот сегодня решил что пора изучать с++. Есть пару задач. Начал решать и уже на первой запоролся( суть в том чтобы определить...

Задачи для тренировки и лучшего понимания языка
Предлагаю в этой теме размещать задачи, которые помогут новичкам (и не только) более детально разобраться в основах языка. При размещении...

Литература для лучшего понимания сути программирования
Привет! Подскажите литературу, которая поможет разобраться в сути самого процесса программирования, поможет изучить теорию алгоритмов,...

1272
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
23.07.2010, 04:59  [ТС]
Студворк — интернет-сервис помощи студентам
MikeSoft, Спасибо! Продолжим?
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
23.07.2010, 05:08
Lavroff, небольшая, на указатели:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//---------------------------------------------------------------------------
#include <iostream>
using namespace std;
//---------------------------------------------------------------------------
int main()
{
  int *pTest;
  *pTest = 5;
 
  cout << "Value is: " << *pTest << endl;
 
  system("pause");
  return 0;
}
//---------------------------------------------------------------------------
Будет ли работать? Если да, то правильно ли? Если нет - то почему? Присутствуют ли ошибки?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
23.07.2010, 05:12  [ТС]
Мм.. Память же под указатель не выделена. Не должна бы.

А вот так корректно вроде:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
//---------------------------------------------------------------------------
int main()
{
  int *pTest=new int;
  *pTest = 5;
 
  cout << "Value is: " << *pTest << endl;
 
  system("pause");
  return 0;
}
//----------------------------------------------------------------------------------------------------------------------
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
23.07.2010, 05:14
Цитата Сообщение от Lavroff Посмотреть сообщение
Память же под указатель не выделена.
Правильно. Объект не инициализирован. Память не выделена.
Но указатель, тем не менее, указывает на случайную ячейку в памяти.
Поэтому, программа будет работать! Но её последствия - непредсказуемы.
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
23.07.2010, 05:17  [ТС]
MikeSoft, Ну да. В ВС она запускается, но тут же выдается debug ошибка, что использована неинициализированная переменная. А вот так:
int *pTest=0;
ошибку выводит только когда прогоняешь пошагово.

Еще будут?)
0
23.07.2010, 05:23

Не по теме:

Lavroff, :) наверное хватит на сегодня ... у меня уже светать начинает, нужно поспать.

0
23.07.2010, 05:25  [ТС]

Не по теме:

MikeSoft, Спокойной ночи) У меня тоже светает потихоньку... Часиков в 6-7 надо будет уйти. Спасибо за задачи! Было очень интересно!

0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
23.07.2010, 08:28
Цитата Сообщение от MikeSoft Посмотреть сообщение
Перед "www" начинается область комментария, то есть дальнейшая область не учитывается.
А вот "http:" рассматривается как обычная метка.
супер!
а когда знаешь, как просто!
про коментарии догадался сразу, а потом думал пол-часа, "чо за http: ???..."

Добавлено через 6 минут

Не по теме:

а я не верил что кодеры "просиживают" ночи за компом... :D :D :D

0
34 / 34 / 8
Регистрация: 07.06.2010
Сообщений: 118
23.07.2010, 10:33
MikeSoft

Не корректность программы в том, что после того как память освобождается
C++
1
delete pTestObject;
в программе остается ссылка rTestObject на не существующий обьект, а ссылка всегда длжна являться псевдонимом реального обьекта, если в программе существует ссылка на нулевой обьект то мина замедленного действия уже ожидает своего часа...
1
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
23.07.2010, 10:39
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
 
struct A
{
    A(int a) { puts("A(int)"); }
    A(int a, int b) { puts("A(int, int)"); }
};
 
struct B
{
    B(A a){}
};
 
int main()
{
    int m = 0;
    int n = 0;
 
    B b1( A(m) );
    B b2( A(m, n) );
    return 0;
}
Что быдет выведено на экран при запуске данной программы и почему?
1
 Аватар для Kastaneda
5232 / 3206 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
23.07.2010, 12:26
Что выводит, я посмотрел, но почему так??? Я уже не знаю что думать

Добавлено через 32 минуты
Ничего не понимаю, если сделать так:
C++
1
B b1(A((int)m));
то работает, как и предполагается
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
23.07.2010, 16:38  [ТС]
Быть может вызов B2(int int) перекрывает вызов B1 (int) и поэтому выводится
A(int a, int b) { puts("A(int, int)");
?

Вот что по вызову для b1 говорит :

1>c:\documents and settings\admin\мои документы\visual studio 2005\projects\перенос на ноут\ent\ent.cpp(20) : warning C4930: 'B b1(A)': prototyped function not called (was a variable definition intended?)

Вот эту строку: B b1( A(m) );
компилятор просто проходит мимо. Мол нет такой функции, с таким прототипом

А вот так работает:
кто нить объяснит почему так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstdio>
#include <cstdlib>
 
struct A
{
    A(int a) { puts("A(int)"); }
    A(int a, int b) { puts("A(int, int)"); }
};
 
struct B
{
    B(A a){}
};
 
int main()
{
    int m = 0;
    int n = 0;
 
    B b1( A(0) );
    B b2( A(m, n) );
    system("pause");
    return 0;
}
0
 Аватар для Kastaneda
5232 / 3206 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
23.07.2010, 17:36
Цитата Сообщение от Lavroff Посмотреть сообщение
А вот так работает: ...
Я тоже так пробовал, и еще всяко разно. Эксперементальным путем пришел к выводу, что объект b1 даже не создается, по всей видимости это влияние каких-то темных сил)) Если кто-нибудь объяснит причину, буду очень признаетлен!
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
24.07.2010, 01:22
Цитата Сообщение от Kastaneda Посмотреть сообщение
Ничего не понимаю, если сделать так:
C++
1
B b1(A((int)m));
то работает, как и предполагается
На самом деле приведение типа делать не нужно, достаточно использовать скобки
C++
1
B b1( (A(m)) );
В противном случае запись
C++
1
B b1( A(m) );
будет рассматриваться, как прототип функции b1, которая возвращает объект типа B и принимает в качестве параметра переменную m типа A

Добавлено через 22 минуты
Кстати, если не ошибаюсь, в новом стандарте эта проблема решена.
5
 Аватар для Kastaneda
5232 / 3206 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
24.07.2010, 07:28
rangerx, а почему тогда так работает?
C++
1
B b1( A(0) );
почему компилятор понимает, что это вызов конструктора, а не переменная 0 типа А ?
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
24.07.2010, 17:31
Цитата Сообщение от Kastaneda Посмотреть сообщение
почему компилятор понимает, что это вызов конструктора, а не переменная 0 типа А ?
Потому что имя переменной не может начинаться с цифры?
0
24.07.2010, 19:44

Не по теме:

Давным давно нашел книгу в нете называется "Этюды для программиста" автор Ч. Уэзерелл книжка старая и там есть очень интересные задачи, над которыми порой и не один денек посидеть надо будет.

2
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
25.07.2010, 15:29  [ТС]
buugman, Сами делали оттуда задачи? Они там кстати действительно довольно мощные

Добавлено через 12 часов 35 минут
Что-т тема опять мрет потихоньку.
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
25.07.2010, 15:33
Цитата Сообщение от buugman Посмотреть сообщение
Не по теме:
Давным давно нашел книгу в нете называется "Этюды для программиста" автор Ч. Уэзерелл книжка старая и там есть очень интересные задачи, над которыми порой и не один денек посидеть надо будет.
будь добр, скинь в лс линк
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
25.07.2010, 15:37  [ТС]
nikkka, Заходишь в инет пишешь этюды для программистов, скачиваешь. Первая программа там как раз задание про "Жизнь". Книга в формате djvu
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.07.2010, 15:37

Набор задачь для тренировки и улучшения понимания программирования
Добрый вечер всем. Если кто знает модскажите где можно найти подобный набор задачь...

Проверить на правильность и закомментировать весь код для лучшего понимания
Всем здравствуйте. Условие задачи - Заданная матрица целых чисел размером (N, N). Найти среднее арифметическое элементов в окрашенной...

Нужны задачи для тренировки
Киньте задачки на классы......а то в самоучителе, по которому я учу Сишку....приведены задачки, касающиеся только математики.....сами...

Нужны задачи для тренировки
Здравствуйте киньте пожалуйста задания по с++ для человека начинающего изучать Turbo с++

Нужны задачи для тренировки
Вот не давно был школьный этап по программирование в школе(олимпиады). Меня закинули на городскую, вот только писал ту олимпиаду на...


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

Или воспользуйтесь поиском по форуму:
200
Закрытая тема Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru