Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
2 / 2 / 4
Регистрация: 28.09.2013
Сообщений: 407

Нужны задачи для решения

24.08.2014, 23:17. Показов 4350. Ответов 52
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Если здесь есть студенты-программисты, то очень попрошу их сбросить сюда задания по С++, потому что все свои уже перерешал.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.08.2014, 23:17
Ответы с готовыми решениями:

Нужны задачи для их решения
Здравствуйте. Нужны задачи для закрепления изученного материала. Что интересует(с чем я могу работать(база)): ...

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

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

52
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 01:23
Студворк — интернет-сервис помощи студентам
rikimaru2013, накалякал свой вариант, прокатит?
C++
1
2
3
UINT16 x = 14859325;
    int y = x + 0x005F0000;
    cout << y;
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
25.08.2014, 01:23
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Можете считать, что решили задачу, но если вам интересно, то ответ вообще не такой.
тут решений может быть куча
через union подойдет? можно через массив, через приведение типов
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.08.2014, 01:26
Мой вариант задачки 2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
union INT
{
    int x;
    unsigned char BITS8[4];
};
void main()
{
    int a = 14859325; 
    // 00000000 11100010 10111100 00111101   =  14859325  было 
    // 00000000 11100010 01011111 00111101   =  14835517  должно быть
    // 00000000 01011111 10111100 00111101   =  6274109  если биты считаем справа налево
    INT x;
    x.x = a;
    x.BITS8[1] = 95; // 01011111 = 95
    a = x.x;
 
    cout << a << endl; 
 
    
}
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
25.08.2014, 01:27
КОП, а теперь посмотри шеснадцетиричное представление числа 14859325
0xE2BC3D
третий байт 0xE2 а ты к нему еще 0x5F прибавляешь
должно получится 0x5FBC3D 6274109
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 01:33
Цитата Сообщение от ValeryS Посмотреть сообщение
должно получится 0x5FBC3D 6274109
в консоли выводится именно это значение. UINT16 хранит лишь 2 байта, 3ий обрезается
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
25.08.2014, 01:36
rikimaru2013,
а теперь тоже самое без union
Кликните здесь для просмотра всего текста
C++
1
2
3
4
unsigned char * c;
int x=14859325;
c=&x;
c[2]=95;

прикол в том что сработает только на Intelовской платформе, младший байт по младшему адресу
на той же Мотороле будет по другому

Добавлено через 2 минуты
Цитата Сообщение от КОП Посмотреть сообщение
UINT16 хранит лишь 2 байта, 3ий обрезается
извини не заметил UINT16
но тип то не стандартный, написал бы unsigned short
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.08.2014, 01:41
Цитата Сообщение от ValeryS Посмотреть сообщение
&
оператор взятия адреса

Да вариантов куча. Такие они преподаватели: дадут задание с "прикольными" условиями. Сидишь знаешь 100500 вариантов решений без ограничений, и всё ищешь тот 1 что подходит условиями преподавателя.
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 01:44
Цитата Сообщение от ValeryS Посмотреть сообщение
но тип то не стандартный, написал бы unsigned short
По названию можно в принципе догадаться. Я просто ленивый, что бы расписывать)). В след раз буду по стандарту тогда писать, чтоб без недопониманий.

Цитата Сообщение от ValeryS Посмотреть сообщение
а теперь тоже самое без union
тут кстати студия ругается на неявное преобразование, если его сделать явным, то все ок.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
25.08.2014, 01:46
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
оператор взятия адреса
он родной по правильному то и тип бы надо привести
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Такие они преподаватели: дадут задание с "прикольными" условиями.
так наверно не с бухты-барахты дают а по пройденной теме, прошли union реши с ним, прошли битовые операции туже задачу реши с ними
Не знаю, у меня проще было,решай как хочешь, но докажи что твое решение лучше
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 01:46
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
задание с "прикольными" условиями
Не подкините еще парочку? А то в этом году поступаю, хочется уже что-то иметь на вооружении.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
25.08.2014, 01:47
Цитата Сообщение от КОП Посмотреть сообщение
тут кстати студия ругается на неявное преобразование,
а я тоже ленивый пишу то не в компиляторе а прямо здесь, главное идею показать
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.08.2014, 02:08
Цитата Сообщение от КОП Посмотреть сообщение
Не подкините еще парочку?
1. Вода
2. Шейкерная сортировка
3. Башня Ханое:
C++
1
2
3
4
5
6
7
8
9
10
//Легенда гласит, что где-то в Ханое находится храм, в котором размещена следующая конструкция:
//на основании укреплены 3 алмазных стержня, на один из которых при сотворении мира Брахма 
//  нанизал 64 золотых диска с отверстием посередине,
//причем внизу оказался самый большой диск, на нем – чуть меньший и так далее, пока на
//верхушке пирамиды не оказался самый маленький диск. Жрецы храма обязаны перекладывать
//диски по следующим правилам:
//1. За один ход можно перенести только один диск. 
//2. Нельзя класть больший диск на меньший.
//Руководствуясь этими нехитрыми правилами, жрецы должны перенести исходную пирамиду с 
//1-го стержня на 3-й. Как только они справятся с этим заданием, наступит конец света.
4. Шахматный конь:
C++
1
2
// Пользователь "ставит" коня на шахматную доску, компьютер выводит 63 хода коня. 
// На одной клетке нельзя быть 2 раза. Конь ходит как шахматный.
5. Написать функцию проверки является ли число степенью двойки.

Добавлено через 8 минут
6. Заменить в битовом представлении числа самый правый ноль на единицу.
1
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 02:17
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
5. Написать функцию проверки является ли число степенью двойки.
как-то так получилось
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
bool POT(unsigned int n)
{
    n--;
    while (n > 0)
    {
        if (n & 1)
            n = n >> 1;
        else return false;
    }
    return true;
}


Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Шейкерная сортировка
практически со всеми простыми сортировками я уже поработал.

Остальным сейчас займусь, спасибо.

Добавлено через 2 минуты
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Заменить в битовом представлении числа самый правый ноль на единицу
ну по сравнению со "второй задачей" это уж слишком просто ))
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.08.2014, 02:18
Цитата Сообщение от КОП Посмотреть сообщение
как-то так получилось
задания 5 и 6 в одну строку))))
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 04:17
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
задания 5 и 6 в одну строку))))
Так что ж вы сразу то не сказали! Я то там расписался в волю. Ща буду думать

Добавлено через 1 час 57 минут
Черт знает что накодил в пятом. Есть же более простой вариант тоже в одну строчку?
Кликните здесь для просмотра всего текста
C++
1
return n && (n == ~((n - 1) | (~(n - 1) - n)));
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
25.08.2014, 07:01
Скачайте Абрамяна 1000 задач по программированию.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
25.08.2014, 13:11
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Такие они преподаватели: дадут задание с "прикольными" условиями.
Лучше бы преподаватели объясняли что такое UB и почему нужно писать код без него.
А то вот научатся так студенты хакам и трюкам, а нормальному стилю и ответственности за свой код - нет.

Добавлено через 3 минуты
Цитата Сообщение от КОП Посмотреть сообщение
Есть же более простой вариант тоже в одну строчку?
Перестарался
C++
1
(X & (X - 1)) == 0
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
25.08.2014, 14:30
написать 2 реализации, быструю и медленную, подсчета единичных битов в целом не отрицательном байте (символов). Написать тесты для задания, тесты должны заканчиваться корректно, Тестовый набор символов 1000000 символов, объяснить выбор решений для реализаций
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
25.08.2014, 15:27
быструю ......., подсчета единичных битов в целом не отрицательном байте
было в книжке с названием "хакерские трюки" или типа того, сразу одна или две команды на ассемблере.

Добавлено через 1 минуту
DrOffset, +1. В промышленном программировании важна надежность при приемлемом уровне оптимизации по скорости и объему, а не трюки, которые подведут в самый неподходящий момент.
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.08.2014, 15:33
Цитата Сообщение от КОП Посмотреть сообщение
Черт знает что накодил в пятом. Есть же более простой вариант тоже в одну строчку?
Кликните здесь для просмотра всего текста
C++
1
2
3
4
bool is_power_of_2 (int num)
{
     return !(num & (num - 1));
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.08.2014, 15:33
Помогаю со студенческими работами здесь

Нужны простые задачи для тренировки
Добрый день всем:) Наверное подобных тем как я тут сотни,но всё же. Начал изучать С++(так как необходим для универа)в дальнейшем...

Составить программу для решения математической задачи (для любых допустимых значений углов и сторон)
Здравствуйте.Я новичок в C++,у меня возникла проблема с задачей.Пожалуйста помогите.Вот условие: Составить универсальную (то есть не для...

Написать на С++ программу для решения задачи
Помогите написать код для решения задачи по нахождению радиуса круга, описанного вокруг треугольника

Нужен совет для решения задачи
Задача. Написать программу которая читает последовательность слов с стандартного устройства ввода. И находит среди них...

Использование функция для решения задачи
Добрый вечер, подскажите в чем ошибка в коде. #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt;...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru