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

Сложить столбиком два числа char - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Принадлежность точки заданной области http://www.cyberforum.ru/cpp-beginners/thread658217.html
Дан график с некоторыми частями фигур. Треугольник и часть квадрата (исключена четверть круга), на рисунке заштрихованы серым цветом Прошу помочь с написанием на Си++ программы, которая по...
C++ CXX0030: Error: expression cannot be evaluated Добрый вечер! я новичок в программировании, подскажите что за ошибка и как ее исправить. компилирую код, он компилится, но выдает ошибку через пошаговый дебагинг. visual studio 2005 код... http://www.cyberforum.ru/cpp-beginners/thread658207.html
C++ Серии в массиве
Доброго времени суток. Прощу помощи с задачей на Си .. Дано целое число K (> 1) и целочисленный массив (одномерный) размера N. Поменять местами первую серию массива и его серию с номером K (серия...
C++ Найти максимальный элемент среди элементов, расположенных в четных столбцах массива (включая нулевой столбец)
Даны целые массивы a, b. 1)Для каждого массива определить максимальный элемент. 2)Найти максимальный элемент среди элементов, расположенных в четных столбцах массива (включая нулевой столбец) ...
C++ Обратная польская запись. Почему то на output.txt ничего не выходит, в чем дело? http://www.cyberforum.ru/cpp-beginners/thread658197.html
#include <iostream> #include <fstream> #include <string> using namespace std; #define MAXN 1000 typedef struct { int sp;
C++ Быстрая сортировка Здорова господа! Есть задачка: дан алгоритм быстрой сортировки. ну вообщем я ее cделал но ток без указателей. А задачка находиться в разделе упражнения с указателями. Наверно нужно использовать... подробнее

Показать сообщение отдельно
kotleta
42 / 42 / 11
Регистрация: 13.09.2012
Сообщений: 196
26.09.2012, 10:13
Я думаю, что эта версия получше, более читаема

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 <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <limits.h>
 
int main()
{
 char first[30], second[30], result[31];
 int v_ume_1;
 int i, tmp, p1,p2;
 
 scanf("%s %s",first,second);
 
 for(i=0; first[i] != '\0' || second[i] != '\0'; i++);
 
 result[i+1]='\0';
 result[0]='0';
 
 for(v_ume_1=0; i > 0; i--)
 {
  p1 = first[i-1]-48;
  p2 = second[i-1]-48;
 
  tmp=p1+p2+v_ume_1;
 
  if(tmp >= 10)
  {
   v_ume_1=1;
   tmp -= 10;
  }
  else
  {
   v_ume_1=0;
  }
 
  result[i]=tmp+48;
 }
 
 if(v_ume_1 == 1)
 {
  result[0]=result[0]+1;
  printf("\n%s",result);
 }
 else
 {
  printf("\n%s",result+1);
 }
 
 getch(); return 0;
}
Добавлено через 25 минут
Строка к числам вообще не приводится.
Просто в цикле последовательно берется пара символов из двух строк.
Затем каждый элемент этой пары приравнивается к int'ам (p1, p2 в нашем случае)

48 - это код нуля
поэтому, чтобы получить нужную нам цифры, необходимо от полученного кода цифра отнять 48

57-48, к примеру, даст цифру 9


А потом происходят проверки: если сумма, превосходит 10, значит был 1 записываем в уме, а от суммы отнимаем десять, и получаем число, которое записываем в разряд числа-результата.

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