program w c++ dodawanie liczb 50 pozycyjnych

Awatar użytkownika
Mila06
Użytkownik
Użytkownik
Posty: 8
Rejestracja: 9 wrz 2009, o 19:33
Płeć: Kobieta
Lokalizacja: Opoczno

program w c++ dodawanie liczb 50 pozycyjnych

Post autor: Mila06 »

mam do napisania program który dodaje 2 liczby 50 pozycyjne(czyli takie ktore maja 50 cyfr w sobie) prosze o pomoc!!
Awatar użytkownika
Sokół
Użytkownik
Użytkownik
Posty: 451
Rejestracja: 17 wrz 2006, o 19:22
Płeć: Mężczyzna
Lokalizacja: Zielona Góra
Podziękował: 15 razy
Pomógł: 55 razy

program w c++ dodawanie liczb 50 pozycyjnych

Post autor: Sokół »

pozostaje implementacja dodawania pisemnego - wczytuj liczby jako stringi. Stwórz sobie zmienną pamięć. Odczytuj je od końca, zamieniając cyfry na liczby i dodawaj. Najpierw dodajesz jedności, jeśli ich suma S jest większa niż 9, to jako wynik zostawiasz S mod 10, a jedynkę kopiujesz do pamięci i dodajesz przy dodawaniu liczb reprezentujących dziesiątki. Programujesz zwykłe dodawanie pisemne.
Awatar użytkownika
Mila06
Użytkownik
Użytkownik
Posty: 8
Rejestracja: 9 wrz 2009, o 19:33
Płeć: Kobieta
Lokalizacja: Opoczno

program w c++ dodawanie liczb 50 pozycyjnych

Post autor: Mila06 »

noo tak ja to wiem że trzeba tak zrobić tylko chodzi mi oo gotowy kod programu bo u mnie niestety z pisaniem programów jest kiepsko....

-- 28 sty 2010, o 21:18 --

zrobiliśmy to na lekcji wiec jak by ktoś potrzebował to prosze...
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
char liczba1[50], liczba2[50];
int wynik[50];
int l1,dl1=0,l2,dl2=0,p=0,s;

cout<<"podaj pierwsza liczbe ";
cin.getline(liczba1,sizeof(liczba1));
cout<<"podaj druga liczba ";
cin.getline(liczba2,sizeof(liczba2));

while(liczba1[dl1]!=0) dl1++;
while(liczba2[dl2]!=0) dl2++;

cout<<liczba1<<endl;
cout<<liczba2<<endl;

for(int i=1;i<=50;i++)
liczba1[50-i]=liczba1[dl1-i];
for(int i=0;i<50-dl1;i++)
liczba1='0';

for(int i=1;i<=50;i++)
liczba2[50-i]=liczba2[dl2-i];
for(int i=0;i<50-dl2;i++)
liczba2='0';

for(int i=49;i>=0;i--)
{
s=(liczba1-'0')+(liczba2-'0')+p;
if (s>9)
{
p=1;
s=s-10;
}
else
p=0;
//cout<<s<<"-"<<p<<endl;
wynik=s;
};

for(int i=0;i<50;i++)
cout<<wynik;


cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
ODPOWIEDZ