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

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

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

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

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

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

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

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

52
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 01:23 21
Author24 — интернет-сервис помощи студентам
rikimaru2013, накалякал свой вариант, прокатит?
C++
1
2
3
UINT16 x = 14859325;
    int y = x + 0x005F0000;
    cout << y;
0
Модератор
Эксперт по электронике
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
25.08.2014, 01:23 22
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Можете считать, что решили задачу, но если вам интересно, то ответ вообще не такой.
тут решений может быть куча
через union подойдет? можно через массив, через приведение типов
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.08.2014, 01:26 23
Мой вариант задачки 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
Модератор
Эксперт по электронике
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
25.08.2014, 01:27 24
КОП, а теперь посмотри шеснадцетиричное представление числа 14859325
0xE2BC3D
третий байт 0xE2 а ты к нему еще 0x5F прибавляешь
должно получится 0x5FBC3D 6274109
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 01:33 25
Цитата Сообщение от ValeryS Посмотреть сообщение
должно получится 0x5FBC3D 6274109
в консоли выводится именно это значение. UINT16 хранит лишь 2 байта, 3ий обрезается
0
Модератор
Эксперт по электронике
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
25.08.2014, 01:36 26
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 27
Цитата Сообщение от ValeryS Посмотреть сообщение
&
оператор взятия адреса

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

Цитата Сообщение от ValeryS Посмотреть сообщение
а теперь тоже самое без union
тут кстати студия ругается на неявное преобразование, если его сделать явным, то все ок.
0
Модератор
Эксперт по электронике
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
25.08.2014, 01:46 29
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
оператор взятия адреса
он родной по правильному то и тип бы надо привести
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Такие они преподаватели: дадут задание с "прикольными" условиями.
так наверно не с бухты-барахты дают а по пройденной теме, прошли union реши с ним, прошли битовые операции туже задачу реши с ними
Не знаю, у меня проще было,решай как хочешь, но докажи что твое решение лучше
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 01:46 30
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
задание с "прикольными" условиями
Не подкините еще парочку? А то в этом году поступаю, хочется уже что-то иметь на вооружении.
0
Модератор
Эксперт по электронике
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
25.08.2014, 01:47 31
Цитата Сообщение от КОП Посмотреть сообщение
тут кстати студия ругается на неявное преобразование,
а я тоже ленивый пишу то не в компиляторе а прямо здесь, главное идею показать
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.08.2014, 02:08 32
Цитата Сообщение от КОП Посмотреть сообщение
Не подкините еще парочку?
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 33
Цитата Сообщение от 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 34
Цитата Сообщение от КОП Посмотреть сообщение
как-то так получилось
задания 5 и 6 в одну строку))))
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.08.2014, 04:17 35
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
задания 5 и 6 в одну строку))))
Так что ж вы сразу то не сказали! Я то там расписался в волю. Ща буду думать

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

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

Добавлено через 1 минуту
DrOffset, +1. В промышленном программировании важна надежность при приемлемом уровне оптимизации по скорости и объему, а не трюки, которые подведут в самый неподходящий момент.
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.08.2014, 15:33 40
Цитата Сообщение от КОП Посмотреть сообщение
Черт знает что накодил в пятом. Есть же более простой вариант тоже в одну строчку?
Кликните здесь для просмотра всего текста
C++
1
2
3
4
bool is_power_of_2 (int num)
{
     return !(num & (num - 1));
}
1
25.08.2014, 15:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2014, 15:33
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru