Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 20.11.2014, 23:20   #1
ion leahu
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 22
По умолчанию умножение и суммирование больших чисел

помогите плиз решить задачку , дело в том что я новичок дали задание написать программу в C ++,которая суммирует и умножает два больших числа. Номера читаются из текстового файла txt.

основной код я нашел , а вот как читать из файла не знаю...

http://www.cquestions.com/2010/08/mu...bers-in-c.html
http://forum.codecall.net/topic/7218...o-big-numbers/
ion leahu вне форума
Старый 20.11.2014, 23:26   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
основной код я нашел , а вот как читать из файла не знаю...
дай файл.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума
Старый 20.11.2014, 23:27   #3
ion leahu
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 22
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
дай файл.
привет, в смысле ?

Код:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#define MAX 10000

char * multiply(char [],char[]);
int main(){
    char a[MAX];
    char b[MAX];
    char *c;
    int la,lb;
    int i;
    printf("Enter the first number : ");
    scanf("%s",a);
    printf("Enter the second number : ");
    scanf("%s",b);
    printf("Multiplication of two numbers : ");
    c = multiply(a,b);
    printf("%s",c);
    return 0;
}

char * multiply(char a[],char b[]){
    static char mul[MAX];
    char c[MAX];
    char temp[MAX];
    int la,lb;
    int i,j,k=0,x=0,y;
    long int r=0;
    long sum = 0;
    la=strlen(a)-1;
        lb=strlen(b)-1;
   
        for(i=0;i<=la;i++){
                a[i] = a[i] - 48;
        }

        for(i=0;i<=lb;i++){
                b[i] = b[i] - 48;
        }

    for(i=lb;i>=0;i--){
         r=0;
         for(j=la;j>=0;j--){
             temp[k++] = (b[i]*a[j] + r)%10;
             r = (b[i]*a[j]+r)/10;
         }
         temp[k++] = r;
         x++;
         for(y = 0;y<x;y++){
             temp[k++] = 0;
         }
    }
   
    k=0;
    r=0;
    for(i=0;i<la+lb+2;i++){
         sum =0;
         y=0;
         for(j=1;j<=lb+1;j++){
             if(i <= la+j){
                 sum = sum + temp[y+i];
             }
             y += j + la + 1;
         }
         c[k++] = (sum+r) %10;
         r = (sum+r)/10;
    }
    c[k] = r;
    j=0;
    for(i=k-1;i>=0;i--){
         mul[j++]=c[i] + 48;
    }
    mul[j]='\0';
    return mul;
}
.....................................................
#include<stdio.h>
int main() {
int num1[255], num2[255], sum[255];
char s1[255], s2[255];
int l1, l2;

printf("Enter Number1:");
scanf("%s", &s1);
printf("Enter Number2:");
scanf("%s", &s2);

/* convert character to integer*/

for (l1 = 0; s1[l1] != '\0'; l1++)
num1[l1] = s1[l1] - '0';

for (l2 = 0; s2[l2] != '\0'; l2++)
num2[l2] = s2[l2] - '0';

int carry = 0;
int k = 0;
int i = l1 - 1;
int j = l2 - 1;
for (; i >= 0 && j >= 0; i--, j--, k++) {
sum[k] = (num1[i] + num2[j] + carry) % 10;
carry = (num1[i] + num2[j] + carry) / 10;
}
if (l1 > l2) {

while (i >= 0) {
sum[k++] = (num1[i] + carry) % 10;
carry = (num1[i--] + carry) / 10;
}

} else if (l1 < l2) {
while (j >= 0) {
sum[k++] = (num2[j] + carry) % 10;
carry = (num2[j--] + carry) / 10;
}
} else {
if (carry > 0)
sum[k++] = carry;
}


printf("Result:");
for (k--; k >= 0; k--)
printf("%d", sum[k]);

return 0;
}

Последний раз редактировалось Stilet; 21.11.2014 в 07:39.
ion leahu вне форума
Старый 20.11.2014, 23:41   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
привет, в смысле ?
Э, а-ну дыхни!!!
Цитата:
основной код я нашел , а вот как читать из файла не знаю...
этот файл дай!

+бонус тебе. заслужил!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума
Старый 21.11.2014, 00:11   #5
ion leahu
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 22
По умолчанию

[/QUOTE]+бонус тебе. заслужил!

ну я впервые зашел на этот форум , не знаю еще правила , исправлюсь
ion leahu вне форума
Старый 21.11.2014, 00:15   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
не знаю еще правила
А я чо-то говорил про правила, штоли?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума
Старый 21.11.2014, 00:21   #7
ion leahu
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 22
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
А я чо-то говорил про правила, штоли?
с вами как то можно связаться ? скайп , аська на чем сидите ?
ion leahu вне форума
Старый 21.11.2014, 00:51   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Сообщение от ion leahu Посмотреть сообщение
с вами как то можно связаться ? скайп , аська на чем сидите ?
Сижу на кожаном кресле за 300$, иногда на диване, на унитазе, и немного на коксе (дорого – ужас).
Чем тебя общение тут на форуме не устраивает?
Изображения
Тип файла: png 27.png (8.7 Кб, 36 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума
Старый 21.11.2014, 03:51   #9
ion leahu
Пользователь
 
Регистрация: 08.11.2014
Сообщений: 22
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Сижу на кожаном кресле за 300$, иногда на диване, на унитазе, и немного на коксе (дорого – ужас).
Чем тебя общение тут на форуме не устраивает?
ну я понял , я спросил чтобы узнать что вы больше предпочитаете , скайп или ася , я вот например сижу только в скайпе, хотя и аська имеется )
ion leahu вне форума
Старый 21.11.2014, 08:37   #10
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
я вот например сижу только в скайпе, хотя и аська имеется )
Ога, я видел в прямом эфире, как ты пытался побороть моего антиспам-бота! Хахаха, бот тебя уделал!... Скажи мне, неужели было влом посчитать количество байт в полутора мегабайтах, например, на калькуляторе, а? Один твой ответ вообще шыдевр - "полтора ляма", хотя в вопросе я прямо написал "писать цифрами".
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана непустая последовательность целых чисел. Найти: Сумму чисел, больших числа x и количество всех чётных чисел maksim97maksim Паскаль, Turbo Pascal, PascalABC.NET 1 09.04.2014 13:59
Сложение больших чисел Wadduh Паскаль, Turbo Pascal, PascalABC.NET 2 31.03.2013 22:04
Сложение больших чисел Plazma Общие вопросы C/C++ 0 27.11.2010 17:11
Умножение больших чисел Relrin Помощь студентам 13 22.10.2010 20:44
С# Сложение больших чисел SL1CK Помощь студентам 4 23.11.2009 21:07