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

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

24.08.2014, 23:17. Показов 4458. Ответов 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,875
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,875
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,875
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,875
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,875
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
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
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
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru