Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 joc idem Half Life gratis

PC game stream catre Nvidia Shiel...

Pompa de apa HEPU ?!

Vreau o masina electrica de tocat...
 Cum ajunge remorca de tir inapoi ...

Alt "Utilizator nou" pe T...

ULBS INFORMATICA

Index preturi
 

Suma a 2 numere mari mari c++

- - - - -
  • Please log in to reply
2 replies to this topic

#1
JustXXL

JustXXL

    Active Member

  • Grup: Members
  • Posts: 1,267
  • Înscris: 04.03.2020
Codul l-am luat de aici:
https://www.geeksfor...-large-numbers/

Am gasit pe alt site si alta varianta, dar acolo codul mi s-a parut mult mai complex pentru mine.
Nu inteleg de ce IDE-ul are o problema cu <bits/stdc++.h>
Eu am sters .h si tot nu se compileaza.
Trebuie sa adaug vreun fisier ce se descarca de pe alt site?
Am VS 2022.
Eu am mai adaugat la cod #include <iostream>

Multumesc!

PS: Rog un moderator sa stearga din numele topicul unul din cuvintele "mari", ca apare de 2 ori.

// C++ program to find sum of two large numbers.
#include<bits/stdc++.h>
using namespace std;

// Function for finding sum of larger numbers
string findSum(string str1, string str2)
{
// Before proceeding further, make sure length
// of str2 is larger.
if (str1.length() > str2.length())
	 swap(str1, str2);

// Take an empty string for storing result
string str = "";

// Calculate length of both string
int n1 = str1.length(), n2 = str2.length();

// Reverse both of strings
reverse(str1.begin(), str1.end());
reverse(str2.begin(), str2.end());

int carry = 0;
for (int i=0; i<n1; i++)
{
	 // Do school mathematics, compute sum of
	 // current digits and carry
	 int sum = ((str1[i]-'0')+(str2[i]-'0')+carry);
	 str.push_back(sum%10 + '0');

	 // Calculate carry for next step
	 carry = sum/10;
}

// Add remaining digits of larger number
for (int i=n1; i<n2; i++)
{
	 int sum = ((str2[i]-'0')+carry);
	 str.push_back(sum%10 + '0');
	 carry = sum/10;
}

// Add remaining carry
if (carry)
	 str.push_back(carry+'0');

// reverse resultant string
reverse(str.begin(), str.end());

return str;
}

// Driver code
int main()
{
string str1 = "12";
string str2 = "198111";
cout << findSum(str1, str2);
return 0;
}

Attached Files


Edited by JustXXL, 10 May 2022 - 19:42.


#2
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,940
  • Înscris: 24.04.2013
Uite aici <https://www.geeksfor...g/bitsstdc-h-c/> ce e cu bits/stdc++.h, deci NU trebuie sa il incluzi. In schimb, trebuie sa incluzi ceea ce ai nevoie pentru ce folosesti in programel. Ca exemplu: #include <iostream> si #include <string>.

#3
JustXXL

JustXXL

    Active Member

  • Grup: Members
  • Posts: 1,267
  • Înscris: 04.03.2020
@sags, multumesc mult!
Acum se compileaza. :)

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate