Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Gnum
Сообщений: n/a
#1

Ввести число с клавиатуры поменять местами старшую и младшую половины - C++

17.05.2010, 09:06. Просмотров 1141. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста в решении задачи на побитовую разработку программы на Си

Ввести число с клавиатуры поменять местами старшую и младшую половины

Заранее большое спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2010, 09:06     Ввести число с клавиатуры поменять местами старшую и младшую половины
Посмотрите здесь:

Столбцы левой половины массива поменять местами со столбцами правой половины - C++
Дан двумерный массив из четного числа столбцов. Столбцы левой половины массива поменять местами со столбцами правой половины

Столбцы левой половины матрицы поменять местами со столбцами правой половины - C++
Написать программу с выделением памяти для динамического массива с рандомными значениями. Условие: Дан двумерный массив из четного...

7. Дана матрица размера M × N (M — четное число). Поменять местами верхнюю и нижнюю половины матрицы. - C++
Дана матрица размера M × N (M — четное число). Поменять местами верхнюю и нижнюю половины матрицы.

Сжать массив, удалив из него элементы, имеющие одинаковые старшую и младшую цифры - C++
Вот как я пытался сделать это #include <iostream> using namespace std; int main() { int n,i,j,y,x; int...

Поменять местами 2 половины строки // С++ - C++
Всем привет. Visual C++. Задание: На входе строка. Необходимо разделить её на 2 равные части, и поменять их местами. Например...

Поменять местами верхнюю и нижнюю половины матрицы - C++
написать программы по своим вариантам, которые реализуют алгоритм работы с прямоугольными или квадратными матрицами с помощью двухмерных...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
17.05.2010, 09:34     Ввести число с клавиатуры поменять местами старшую и младшую половины #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
24
#include <iostream>
using namespace std;
 
 
int func_(int a){
    __asm
    {
        mov eax, a
        bswap eax
        mov a, eax
    }
 
    return a;
}
 
int main(){
    cout << func_( 1 ) << endl
         << func_( 0 ) << endl
         << func_(-1 ) << endl;
 
    int a = func_(1);
    cout << func_(a) << endl;
    return 0;
}
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
17.05.2010, 11:07     Ввести число с клавиатуры поменять местами старшую и младшую половины #3
А число какого размера? Просто можно проблему через union решить.

Добавлено через 1 час 25 минут
Например :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main (){
    union {
        int i;
        short int a[2];
    };
    cin>>hex>>i;
    short int tmp=a[0];
    a[0]=a[1];
    a[1]=tmp;
    cout<<hex<<i;    
    system ("pause");
    return 0;
}
Меняет местами старшую и младшую половины, HEX на вводе и выводе используется просто для наглядности. Например если ввести 12345678, то будет выведено 56781234. Меняя типы переменных в union, можно менять размерность числа.
Maxim Prishchepa
Эксперт С++
1920 / 1032 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
17.05.2010, 11:17     Ввести число с клавиатуры поменять местами старшую и младшую половины #4
C++
1
2
3
4
int change(int number, int size)
{
  return (number>>size/2)|(number<<size/2);
}
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
17.05.2010, 11:50     Ввести число с клавиатуры поменять местами старшую и младшую половины #5
Да, красиво! После ASM'a ни как к С не могу привыкнуть, все меня на сложности тянет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2010, 13:44     Ввести число с клавиатуры поменять местами старшую и младшую половины
Еще ссылки по теме:

Поменять местами левую и правую половины матрицы - C++
Помогите с матрицей плс Matrix56. Дана матрица размера M × N (N — четное число). Поменять местами левую и правую половины матрицы.

Поменять местами правую и левую половины матницы - C++
1. Сформировать квадратную матрицу порядка n × n по образцу вашего варианта задания. Размерность задать в виде именованной константы....

Поменять местами первую и вторую половины массива - C++
Дан массив а, состоящий из 10 элементов. Поменять местами первую и вторую его половины

В тексте поменять местами первую и вторую половины каждого слова - C++
Добрый день. Есть задачка: В тексте поменять местами первую и вторую половины каждого слова. Все слова в тексте состоят из четного числа...

Дан массив. Поменять местами его первую и вторую половины массива - C++
Дан массив. Поменять местами его первую и вторую половины массива... Пожалуйста решение очень легким методом) чтобы я понял код, т.к...

Дано слово из четного числа букв. Поменять местами его половины - C++
Доброго времени суток и с наступающим! У меня тут возникла небольшая загвоздка с задачей. Необходимо из слова с четным числом букв поменять...


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

Или воспользуйтесь поиском по форуму:
Gnum
Сообщений: n/a
17.05.2010, 13:44     Ввести число с клавиатуры поменять местами старшую и младшую половины #6
Число может быть любое от 1. до бесконечности

a^=0xzzzz (zzzz) - это число для байтов

пример

main()
{
unsigned a,m,i;
scanf("%x",&a);
for (i=1;i<sizeof a; i++);
m=(m<<8) |0x55; (для 1 байта)
a^=m;
printf.......
}



Вот такое решение примерно должно быть только для этой задачи
Yandex
Объявления
17.05.2010, 13:44     Ввести число с клавиатуры поменять местами старшую и младшую половины
Ответ Создать тему
Опции темы

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