Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шафеева О.П., ИВТ, прога на СИ / дз / 7 / умножение чисел в дв сс

.cpp
Скачиваний:
0
Добавлен:
21.01.2025
Размер:
1.58 Кб
Скачать
//#include <stdio.h>
//#include <locale.h>
//#define MAX_SIZE 10000
//void mul(int a[], int b[], int result[], int size) {
//    for (int i = 0; i < 2 * size; i++) { 
//        result[i] = 0;
//    }
//    //Умножение по правилам двоичной арифметики
//    for (int i = size - 1; i >= 0; i--) {
//        if (b[i] == 1) { 
//            int carry = 0; 
//            for (int j = size - 1; j >= 0; j--) {
//                int temp = a[j] + result[i + j + 1] + carry;
//                result[i + j + 1] = temp % 2;
//                carry = temp / 2;
//            }
//            if (carry) result[i] = carry;
//        }
//    }
//}
//
//void print_array(int arr[], int size) {
//    for (int i = 0; i < size; i++) {
//        printf("%d", arr[i]);
//    }
//    printf("\n");
//}
//
//int main() {
//    setlocale(LC_ALL, "rus");
//    int a[MAX_SIZE], b[MAX_SIZE], result[2 * MAX_SIZE]; 
//    int n; 
//    printf("Введите размер двоичных чисел (максимум %d): ", MAX_SIZE);
//    scanf_s("%d", &n);
//    if (n > MAX_SIZE) {
//        printf("Некорректный размер\n");
//        return 1;
//    }
//    printf("Введите первое число (0 и 1):\n");
//    for (int i = 0; i < n; i++) scanf_s("%d", &a[i]);
//    printf("Введите второе число (0 и 1):\n");
//    for (int i = 0; i < n; i++) scanf_s("%d", &b[i]);
//    mul(a, b, result, n);
//    printf("Первое число: "); print_array(a, n);
//    printf("Второе число: ");  print_array(b, n);
//    printf("Результат умножения: "); print_array(result, 2 * n); 
//    return 0;
//}
//