Написать функцию для поразрядного умножения длинных целых чисел, представленных строками символов, и тестирующ - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание :"Написать функцию для поразрядного умножения длинных целых чисел, представленных строками символов, и тестирующую программу к ней." Написать программу разделяя исходный код на 3 файла: в файле main.cpp располагается управляющая функция main, в файле my_lab.cpp (название может отличаться) ― функции в соответствии с заданием (ввод/вывод исходных данных, основная логика задания и т.п.), а в файле my_lab.h ― прототипы функций из my_lab.cpp.

Решение задачи: «Написать функцию для поразрядного умножения длинных целых чисел, представленных строками символов, и тестирующ»

textual
Листинг программы
#include "math_test.h"
int main()
{
 
char input[n], output[n], input1[n], incr[n] = "1", wspom[n];
for (int i = 0; i < n; i++)
{
input[i] = '\0';
output[i] = '\0';
input1[i] = '\0';
wspom[i] = '\0';
}
puts(" entr number");
while (!zap(input))
puts("repit");
for (int i = 0; i < n; i++)
if (input[i] < '0' || input[i] >'9')
{
for (int g = i; g < n; g++)
input[g] = '\0';
break;
}
if (input[0] == '\0')
{
puts("no first multiplier");
return 0;
}
if (input[0] == '0' && input[1] == '\0')
{
puts("0");
return 0;
}
puts(" entr second multiplier");
while (!zap(input1))
puts(" repit step");
for (int i = 0; i < n; i++)
if (input1[i] < '0' || input1[i] >'9')
{
for (int g = i; g < n; g++)
input1[g] = '\0';
break;
}
if (input1[0] == '\0')
{
puts("no second multiplier");
return 0;
}
if (input1[0] == '0' && input1[1] == '\0')
{
puts("0");
return 0;
}
if (input1[0] == '1' && input1[1] == '\0')
{
puts(input);
return 0;
}
zap(input, output);
zap(incr, wspom);
while (!strcmp(wspom, input1))
{
add(output, input);
add(wspom, incr);
}
puts(output);
return 0;
}

Объяснение кода листинга программы

В этом коде представлена функция для поразрядного умножения длинных целых чисел, представленных строками символов. Список действий:

  1. Ввод первого множителя:
    • Переменная input используется для хранения введенного числа.
    • Переменная output используется для промежуточных вычислений.
    • Переменная input1 используется для хранения второго множителя.
    • Переменная incr используется для хранения увеличения второго множителя.
    • Переменная wspom используется для хранения промежуточного результата.
  2. Проверка введенных данных:
    • Если первый множитель пустой, выводится сообщение об ошибке и возвращается 0.
    • Если второй множитель пустой, выводится сообщение об ошибке и возвращается 0.
  3. Очистка входных данных:
    • Если введенные данные некорректны (содержат символы, которые не являются цифрами), выводится сообщение об ошибке и возвращается 0.
  4. Вычисление произведения:
    • Используется функция add для поразрядного умножения чисел.
    • Используется функция zap для очистки промежуточных переменных.
    • Используется цикл while для повторения вычислений до тех пор, пока второй множитель не изменится.
    • Результат выводится на экран.
  5. Завершение программы:
    • Возвращается 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы