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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Puschistik
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
#1

деление по модулю 2 - C++

12.05.2013, 21:14. Просмотров 1464. Ответов 7
Метки нет (Все метки)

Здравствуйте такая задача есть массив g[] {111101} который заполнен таким образом и есть массив p[] {1111010000000} который заполнен вот так, нужно массив p поделить на g по модулю 2 и потом то что получилось приплюсовать к массиву p Но сложение происходит заменой последних чисел массива Р. Помогите пожалуйста не могу разобраться как это правильно сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 21:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос деление по модулю 2 (C++):

Деление по модулю - C++
Здравствуйте. Пишу функцию деления по модулю: int ring(int num, int max) { return num - (max%num)*(num/max); } Для (12, 12)...

Деление по модулю % - C++
Даны два числа X и Y проверить истинность того что оба числа четные. // При записи (x%2) корректно не работает, а в примере ниже работает...

Деление по модулю - C++
Нужно вычислить следующее выражение Написал но вот % работает только с целыми числами а у меня виходыт 0.33333333 % 17680 #include...

деление по модулю - C++
Вообщем пишу калькулятор и наткнулся на проблемку #include "stdafx.h" #include <tchar.h> #include <stdio.h> #include <iostream> ...

Деление по модулю 2 - C++
Добрый день уважаемые! Нужно написать алгоритм кодирования двоичных последовательностей циклическим кодом, и столкнулся вот с такой...

Деление по модулю отрицательных чисел - C++
Какие в математике правила для деления по модулю отрицательных чисел? Например -15(mod 26). Почему в этом случае С++(mvc++) дает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
igor921
Заблокирован
12.05.2013, 21:56 #2
числа в двоичной системе?
Puschistik
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
12.05.2013, 22:11  [ТС] #3
да ответ должен получиться 13 - значный причем массив p[] может быть любым а массив g[] обязательно должен быть такойже
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
12.05.2013, 22:25 #4
если задача была бы изложена ясно. помогли бы в краткие сроки!
Puschistik
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
12.05.2013, 22:43  [ТС] #5
кодирование нужно взять 7-ми знач. случайную последовательность нулей и единиц, и умножить ее на наивысшую степень полинома (полином - 111101) т.е степень = 5,
декодирование
получившуюся последовательность после умножения разделить на сам полином и после этого получившийся остаток сложить с последовательностью (когда мы умножали 7-ми знач последовательность с наивысшей степенью т.е 5.(*******00000)) по модулю 2. Задание из темы "циклические коды".
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
12.05.2013, 23:20 #6
Puschistik,
Цитата Сообщение от Puschistik Посмотреть сообщение
о сложение происходит заменой последних чисел массива Р
лол почти так и должно быть, остаток от деления на 2 (всё равно что взять по модулю 2) это есть либо 1 либо 0, так что в конец двоичного числа либо добавится 1, либо ничего.
Puschistik
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
12.05.2013, 23:23  [ТС] #7
я в теории понял что и как, я не знаю как это в коде реализовать!
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
12.05.2013, 23:25 #8
Puschistik, вот вам мой пример деление одного десятичного числа на другое нацело и остаток. Вам нужно то же самое, только в 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <cmath>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <algorithm>
 
using namespace std;
 
int main(){
    freopen("input.txt","rt",stdin);
    freopen("output.txt","wt",stdout);
    string str;
    int k;
    cin >> str >> k;
    int n = 0;
    bool was = false;
    string div = "";
    for (int i = 0; i < str.length(); i++) {
        if (n == 0 && str[i] == '0') {
            div += '0';
            continue;
        }
        n = n*10 + (str[i] - '0');
        if (n >= k) {
            was = true;
            if (n/k == 10)
                div += "10";
            else
                div += n/k + '0';
            n %= k;
        } else if (was)
            div += '0';
    }
    if (div.length() == 0)
        div += '0';
    cout << div << endl;
    cout << n;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2013, 23:25
Привет! Вот еще темы с ответами:

Деление по модулю, работа с функцией rand() - C++
Мне нужно сгенерировать случайное число от 66 до 122, максимальное число RAND_MAX = 32767, мне нужно узнать на что нужно делить по модулю...

Задача про деление яблок (целочисленное деление) - C++
Ребят,помогите с задачкой,как написать input.txt и output.txt? Помогите решить задачу. C++. Заранее спасибо! N школьников делят K яблок...

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

Написать программу произведения между максимальным по модулю и минимальным по модулю элементами массива - C++ - C++
Написал программу которая выводит максимальный и минимальный массиви: #include &lt;iostream&gt; using namespace std; int main() { ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.05.2013, 23:25
Ответ Создать тему
Опции темы

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