Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Axsce
#1

Разность произвольных чисел - C++

17.11.2011, 08:43. Просмотров 520. Ответов 1
Метки нет (Все метки)

Как решить разность произвольных чисел? Длинная арифметика.
Есть пример "Сумма двух положительных чисел" её надо переделать в разность, которую я не могу сделать.
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
#include <iostream>
#include <string>
using namespace std;
int a[1000] , b[1000], c[1000];
void vvod(int a[])
{ int i, len; string s;
  cin>>s; len=s.length();
  a[0]=len;
  for(i=len-1; i>=0;i--) a[len-i]=s.at(i)-48;
}
 
void vivod(int a[])
{ int i;
  for(i=a[0]; i>=1;i--) cout<<a[i];
  cout<<endl;
}
 
void summa(int a[],int b[], int c[])
{  int i, len,r=0;
   if(a[0]>b[0]) len=a[0]; else len=b[0];
   for(i=1; i<=len; i++)
   {r=a[i]-b[i]+r; c[i]=r%10; r=r/10;}
   if (r==1) {len++; c[len]=r;}
   c[0]=len;
}
 
int main()
{  vvod(a); vvod(b);
   summa(a,b,c);
   vivod(c);
   return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2011, 08:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разность произвольных чисел (C++):

Вводится последовательность из N произвольных чисел. Вычислить разность между наименьшим и наибольшим значения - C++
Вводится последовательность из N произвольных чисел. Вычислить разность между наименьшим и наибольшим значениями последовательности. ...

Имеется массив А из N произвольных чисел. - C++
1)Имеется массив А из N произвольных чисел. Используя, операторы цикла составить программу. а)Найти номер последнего отрицательного...

Найти сумму десяти произвольных чисел - C++
Найти сумму десяти произвольных чисел. Результат отправить в переменную S

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

Найти разность 2-х чисел (max и min) из последовательности чисел, введенное с клавиатуры (n = 5) - C++
Помогите с задачками на С++: 1. Найти разность 2-х чисел (max и min) из последовательности чисел, введенное с клавиатуры (n = 5). ...

В последовательности из N произвольных чисел подсчитать количество нулей - C++
В последовательности из N произвольных чисел подсчитать количество нулей.Кто знает как сделать?Помогите:)На C++

1
Axsce
01.12.2011, 08:18 #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
42
43
44
45
46
47
48
49
50
#include <iostream>
#include<string>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int a[1000] , b[1000], c[1000], d;
void vvod(int a[])
{ int i, len; string s;
  cin>>s; len=s.length();
  a[0]=len;
  for(i=len-1; i>=0;i--) a[len-i]=s.at(i)-48;
}
 
void vivod(int a[])
{ int i;
  for(i=a[0]; i>=1;i--) cout<<a[i];
  cout<<endl;
}
 
void vich(int a[],int b[], int c[])
{ int i, len, r=0, ab=0, ba=0;
  memset(c,sizeof(c),0);
  if (a[0]>b[0]) {len=a[0]; ab=1;} else 
  if (a[0]<b[0]) {len=b[0]; ba=1;} 
 
  else 
  { i=a[0]; len=a[0];
    while (a[i]==b[i] && i>=0) i--;
 
    if (a[i]>b[i]) ab=1; else ba=1;    
 
  }  
    if (ba==1) 
    { 
        for (i=1;i<=len;i++) {r=b[i]; b[i]=a[i]; a[i]=r;}
    }
  
    for(i=1; i<=len; i++)
    if (b[i]<=a[i]) c[i]=a[i]-b[i]; else {c[i]=a[i]+10-b[i]; a[i+1]=a[i+1]-1;}
    c[0]=len;
 
}
int main()
{
      memset(a,sizeof(a),0);  memset(b,sizeof(b),0);
   vvod(a); vvod(b);
   vich(a,b,c);
   vivod(c);
   return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2011, 08:18
Привет! Вот еще темы с ответами:

Записать в файл последовательного доступа n произвольных чисел. - C++
Переписать в другой файл последовательного доступа те элементы, которые кратны К. Вывести полученный файл на печать.

В последовательности из n произвольных чисел подсчитать количество нулей - C++
Помоги пожалуйста написать программу в С++ очень нужно! В последовательности из n произвольных чисел подсчитать количество нулей.

Классы (программа сложения двух произвольных чисел) - C++
Написать программу сложения двух произвольных чисел: #include &lt;vcl.h&gt; #include &lt;iostream.h&gt; #pragma hdrstop ...

Записать в файл последовательного доступа N произвольных чисел - C++
&quot;Файловый тип данных&quot; Записать в файл последовательного доступа N произвольных чисел натуральных чисел .Переписать в другой файл...


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

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

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