Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Стас45rus
1 / 1 / 2
Регистрация: 12.04.2010
Сообщений: 121
1

вычитание многоразрядных чисел

07.05.2012, 19:46. Просмотров 688. Ответов 1
Метки нет (Все метки)

Всем привет. Нужно вычесть одно многоразрядное число из другого многоразрядного числа. Я так понимаю, что чтобы это сделать их нужно сначала сравнить. А как их сравнить представления не имею. Подскажите пжл. Числа находятся в одном массиве. Т.е. сначала первое число, а потом второе через знак различия.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2012, 19:46
Ответы с готовыми решениями:

матрица многоразрядных целых чисел
Дана матрица A(5*5) многоразрядных целых чисел. Найти номер строки и номер столбца, на пересечении...

алгоритм Миллера-Рабина проверки простоты многоразрядных чисел.
надо составить алгоритм Миллера-Рабина проверки простоты многоразрядных чисел. Я составил, ...

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

Рекурсивное вычитание чисел
Написать рекурсивную функцию вычитания целых чисел.

Вычитание длинных чисел
нужно вычесть два длинных числа. код есть, но не могу найти ошибку: var a,b,c:array of integer;...

1
Puporev
Модератор
57522 / 43859 / 30299
Регистрация: 18.05.2008
Сообщений: 104,730
08.05.2012, 10:33 2
Лучший ответ Сообщение было отмечено Стас45rus как решение

Решение

В принципе так. Конечно в Вашей программе нужно не просто вывести результат сравнения, а что-то делать с ним, но это уже другая песня.
Pascal
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
var m:array[1..10000] of char;
    a,b:array[1..10000] of byte;
    c:char;
    n,na,nb,i,j,k:integer;
begin
repeat
writeln('Введите 2 числа в строку через разделитель ;, окончаие ввода Enter');
k:=0;
n:=0;
repeat
c:=readkey;
if (c=';')and(k=0)then
 begin
  k:=1;
  inc(n);
  write(c);
  m[n]:=c;
 end;
if (c='0')and(n>0)and(m[n]<>';') then
 begin
  inc(n);
  write(c);
  m[n]:=c;
 end;
if c in ['1'..'9'] then
 begin
  inc(n);
  write(c);
  m[n]:=c;
 end;
if c=#13 then writeln;
until c=#13;
if (k=0)or(m[1]=';')or(m[n]=';') then writeln('Вы ввели только 1 число, повторите ввод');
until (k=1)and(m[1]<>';')and(m[n]<>';');
na:=0;
i:=1;
while(i<=n)and(m[i]<>';') do //пусть разделитель ;
 begin
  inc(na);
  a[na]:=ord(m[i])-48;
  i:=i+1;
 end;
i:=i+1;
nb:=0;
for j:=i to n do
 begin
  inc(nb);
  b[nb]:=ord(m[j])-48;
 end;
for i:=1 to na do
write(a[i]);
writeln;
for i:=1 to nb do
write(b[i]);
writeln;
if na>nb then write('Первое число больше')
else if na<nb then write('Второе число больше')
else
 begin
  k:=0;
  i:=1;
  while(i<=na)and(k=0) do
  if a[i]>b[i] then k:=1
  else if b[i]>a[i] then k:=2
  else i:=i+1;
  if k=0 then write('Числа равны')
  else if k=1 then write('Первое число больше')
  else write('Второе число больше')
 end;
end.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2012, 10:33

Выполнить вычитание чисел
Помогите пожалуйста, у меня программа самого вычитания есть, нужно добавить вот эти условия. ...

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

Рекурсия: вычитание целых чисел
Написать рекурсивную функцию вычитания целых чисел


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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