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

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
Botticelli
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 15
#1

Сложить два целых числа - Turbo Pascal

29.01.2016, 16:48. Просмотров 312. Ответов 4
Метки нет (Все метки)

Ребят, помогите решить задачу, а. Не понимаю, в чем проблема.. Вроде должно работать, а все равно не идет.

Условие
Снова A+B

(Время: 1 сек. Память: 16 Мб)
Требуется сложить два целых числа А и В.

Входные данные

Во входном файле INPUT.TXT записано два неотрицательных целых числа, не превышающих 10 в 100 степени, по одному в каждой строке.

Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В, без лидирующих нулей.

Мой код

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
program ab;
Var
b,i,j,r,low,l,le,c,gg: integer; s,d,a: array[1..99999] of integer;    k,p,st,sr,st1,sr1: string[255];
Begin
Readln(k);
Readln(p);
if length(k) > length(p) then le := length(k) else le := length(p);
for i:=length(k) downto 1 do
st:=st+k[i];
for i:=length(p) downto 1 do 
sr:=sr+p[i]; 
if length(st) > length(sr) then begin
l := length(st) - length(sr); for i:=1 to l do 
sr:=sr+'0'; end;
for i:=length(st) downto 1 do
st1:=st1+st[i];
Writeln;
for i:=length(sr) downto 1 do
sr1:=sr1+sr[i];
for i:=1 to length(st1) do begin
Val(st1[i],s[i],j);  end;
for i:=1 to length(sr1) do begin
Val(sr1[i],d[i],j);   end;
for i:=1 to le do begin
a[i]:=s[i]+d[i]; Write(a[i]); end;
end.
Заранее благодарен)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2016, 16:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сложить два целых числа (Turbo Pascal):

Сложить два комплексных числа - Turbo Pascal
Комплексное число представить ввиде структурированных типов данных(Delphi7)

Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно - Turbo Pascal
Желательно сделать в Pascal или Delphi

Вводится два целых числа A и B. Выведите их сумму - Turbo Pascal
Ввод осуществляется из файла input.txt. Вывод на консоль. Вводится два целых числа A и B. Выведите их сумму. Ввод Ввод содержит A и...

Даны два целых числа a и b, определить их общие делители. - Turbo Pascal
Даны два целых числа a и b, определить их общие делители. Заранее благодарен

Написать функцию, которая сравнивает два целых числа - Turbo Pascal
Всем привет, прошу помочь, совсем скоро нужно сдавать эту задачу, но мне эта тема далась не очень. Кто чем сможет, буду очень благодарен!!!...

Ввести два целых числа N1 и N2. Если N1>n2 найти сумму. С циклом While - Turbo Pascal
Ввести два целых числа N1 и N2. Если N1&gt;n2 найти сумму. используя While или repeat

4
capricornus CF
315 / 205 / 132
Регистрация: 08.12.2015
Сообщений: 853
29.01.2016, 17:27 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Читать не возможно

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
program ab;
Var
b,i,j,r,low,l,le,c,gg: integer;
s,d,a: array[1..99999] of integer;
k,p,st,sr,st1,sr1: string;
 
Begin
  Readln(k);
  Readln(p);
  if length(k) > length(p) then le := length(k)
     else le := length(p);
  for i:=length(k) downto 1 do
    st:=st+k[i];
  for i:=length(p) downto 1 do
    sr:=sr+p[i];
  if length(st) > length(sr) then
    begin
      l:= length(st) - length(sr);
      for i:=1 to l do
        sr:=sr+'0';
    end;
  for i:=length(st) downto 1 do
    st1:=st1+st[i];
  Writeln;
  for i:=length(sr) downto 1 do
    sr1:=sr1+sr[i];
  for i:=1 to length(st1) do
    Val(st1[i],s[i],j);
  for i:=1 to length(sr1) do
    Val(sr1[i],d[i],j);
  for i:=1 to le do
    begin
      a[i]:=s[i]+d[i];
      Write(a[i]);
  end;
end.
Убрал лишние операторные скобки, а теперь , что именно не работает? Какие есть претензии?

Добавлено через 5 минут
Помимо того, что вы из файла не читаете, что не так?
0
Puporev
Модератор
53999 / 41632 / 14718
Регистрация: 18.05.2008
Сообщений: 97,856
29.01.2016, 17:58 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Что-то Вы наворотили там, не проще так?
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
var a,b,c,xs:string;
    i,x,y,k,p:integer;
begin
readln(a);
readln(b);
if length(a)>length(b) then
while length(b)<length(a) do b:='0'+b
else if length(a) < length(b) then
while length(a)<length(b) do a:='0'+a;
{будем складывать столбиком с конца}
c:='';{сумма}
p:=0;{перенос в старший разряд 0 или 1}
for i:=length(a) downto 1 do
 begin
  val(a[i],x,k); {преобразуем символы в цифры}
  val(b[i],y,k);
  x:=x+y+p; {складываем с учетом переноса}
  p:=x div 10;{перенос}
  x:=x mod 10;{остаток}
  str(x,xs); {преобразуем в символ}
  c:=xs+c;{и пишем в начало строки}
 end;
if p=1 then insert('1',c,1);{если есть переенос=1}
writeln(c);
end.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3749 / 2446 / 1306
Регистрация: 22.11.2013
Сообщений: 6,786
30.01.2016, 22:56 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Puporev,
вместо строк 6-9 достаточно ("if условие1 then while условие1 do" эквивалентно "while условие1 do"):
Pascal
6
7
while Length(a)<Length(b) do a:='0'+a;
while Length(b)<Length(a) do b:='0'+b;
Возможно, Val и Str для преобразования цифры в число и обратно как из пушки по воробьям.

В сухом остатке:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
  a, b, c: String;
  i, p: Integer;
begin
  ReadLn(a);
  ReadLn(b);
  {c:=''; p:=0;}
  while Length(a)<Length(b) do a:='0'+a;
  while Length(b)<Length(a) do b:='0'+b;
  for i:=Length(a) downto 1 do begin
    p:=p+Ord(a[i])+Ord(b[i])-2*Ord('0');
    c:=Chr(Ord('0')+p mod 10)+c;
    p:=p div 10;
  end;
  if p>0 then c:='1'+c;
  WriteLn(c);
end.
0
Botticelli
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 15
01.02.2016, 15:07  [ТС] #5
Блин, ребят, а так реально проще)
Спасибо за помощь, серьезно
0
01.02.2016, 15:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2016, 15:07
Привет! Вот еще темы с ответами:

Даны два целых числа А и В. Найти наименьшее общее кратное этих чисел - Turbo Pascal
Даны два целых числа А и В. Найти наименьшее общее кратное этих чисел. решить как можно проще

Найдите два целых трехзначных числа, частное которых приближает число «пи» с наибольшей точностью - Turbo Pascal
Найдите два целых трехзначных числа, частное которых приближает число «пи» с наибольшей точностью. Помогите пожалуйста! Добавлено...

Даны два целых числа. Составить программу, которая большее число возводит в квадрат, а меньшее увеличивает на 10 - Turbo Pascal
Написать программу для решения задачи: Даны два целых числа. Составить программу, которая большее число возводит в квадрат, а меньшее...

Cформировать два массива целых чисел определённой длинны. вывести на печать числа встречающиеся в каждом массиве - Turbo Pascal
задание №1. найти силу тяготения F двух тел с массами m1 и m2, находящихся на расстоянии r между собой. F=G*(m1*m2/r*r). где G=6/67*(10 в...


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

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

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