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

Даны две символьные строки, состоящие только из цифр - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ символы http://www.cyberforum.ru/cpp-beginners/thread77195.html
Как записать в строку рандомные символы латинского алфавита (в С)?
C++ Ошибка 1.INF00: что это ?! И как с этим бороться?! http://www.cyberforum.ru/cpp-beginners/thread77193.html
Как вызвать функцию, которая производит быструю сортировку C++
Подскажите пожалуйста, как в С++ вызвать функцию, которая проводит быструю сортировку
простые (или не очень)..... C++
Всем доброго времени суток! Помогите пожалуйста решить вот такие вот задачки: 1) Записать положительные элементы массива X подряд в массив Y. Определить k-количество положительных элементов. Вычислить сумму элементов массива X и произведение элементов Y. 2) Календарь. (При решении задач принять во внимание, что в современном (григорианском) календаре каждый год, номер которого делится на 4,...
C++ модули программы http://www.cyberforum.ru/cpp-beginners/thread77174.html
Всем привет помогите пожалуйста с этим плиз заранее спасибо
C++ Что такое DYNAMIC ? Дабы не создавать кросс-постинга, вот ссылка на тему: http://www.cyberforum.ru/cpp-builder/thread76403.html#post429388 К сожалению, как мне кажется, мало людей читает ветку Builder; и DYNAMIC может и не иметь прямого отношения к этой среде разработки. подробнее

Показать сообщение отдельно
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
20.12.2009, 22:31     Даны две символьные строки, состоящие только из цифр
вот на:
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 <stdio.h>
#include <conio.h>
#include <malloc.h>
 
int strlen(char *cp)
{
    char* temp=cp;
    int i=0;
    while(*temp++)i++;
    return i;
}
 
int main()
{
    char* pNumber1="2945714556002451";
    char* pNumber2="20003154611";
    int leng1=strlen(pNumber1);
    int leng2=strlen(pNumber2);
    int leng3=((leng1>=leng2)?(leng1):(leng2))+1;
    char* pNumber3=(char*)malloc(leng3);
 
   *(pNumber3+leng3)='\0';
 
    char *index1=(pNumber1+leng1-1);
    char *index2=(pNumber2+leng2-1);
    char *index3=(pNumber3+leng3-1);
 
    int cary=0;
    while (pNumber3!=index3)
    {
          int temp1;
          if(index1>=pNumber1)temp1=*index1-48;else temp1=0;
          int temp2;;
          if(index2>=pNumber2)temp2=*index2-48;else temp2=0;
 
          *index3=(temp1+temp2+cary)%10+48;
 
          cary=(temp1+temp2)/10;
          index1--;
          index2--;
          index3--;
    }
    
    pNumber3=(index3+1);
    printf("%s+%s=%s",pNumber1,pNumber2,pNumber3);
    pNumber3=(index3+1);
    getch();
    free(pNumber3);
    return(0);
}
если переноса из старшего разряда нет, то потеряем один бйт памяти, не велика потеря.
 
Текущее время: 14:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru