Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-11-09 20:11:15

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

Zagiął mnie program dla studentow ^^

a wiec nasz nieszczesny program musi mnozyc 2 liczby np.
c=a*b;
a nastempnie dodaje poszczegulne CYFRY z wyniku(c)
czyli:
a=10;
b=11;
wtedy
c=110
a suma cyfr=2

moja koncepcja ale oczywiscie zla (juz tak kombinuje ze zapominam co jest dobrze a co zle, probowalem na tablicach ale tez cos niedzialalo)

niby teraz dziala jak zrobilem unsigned int, ale najgorsze jest to ze niewiem czy na jakiejs liczbie niepopelni bledu
sprawdzcie i pokazcie wlasna koncepcje(bo moja to jest bardzo prymitywna:P)

Kod:

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
    unsigned int a,b,c,d,i,j,e,f,g;
    cin>>d;
    
    
    for (i=1;i<=d;i++)
    {
        f=0;
        cin>>a>>b;
        c=a*b;
        g=10000000;
        f=c%10;
        
    cout<<c<<" ";
        for(j=0;j<=6;j++)
        {
                         
        e=c/g;
        c=c-(g*e);
        f=f+e;
        g=g/10;
        }
        cout<<f<<endl;

    }
    system("pause");
}

Ostatnio edytowany przez azhag (2009-11-10 12:00:51)


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#2  2009-11-09 21:42:12

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Zagiął mnie program dla studentow ^^

idea jest taka (zakladam ze wynik mnozenia masz w jakiejs zmiennej A):
0. jezeli A rozne od zera to
1. do sumy dodajemy reszte z dzielenia A przez 10
2. pod A podstawiamy wynik dzielenia calkowitego A przez 10
3. wracamy do punktu 0.


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#3  2009-11-09 21:59:44

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

Re: Zagiął mnie program dla studentow ^^

no robilem tak i wlasnie automat na polibudzie gdanskiej wie lepiej ^^ ale sprobuje jeszcze raz

edit.
dziala bledem bylo uzycie pentli for :P

Kod:

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
    unsigned int a,b,c,d,i,j,e,f,g;
    cin>>d;
    
    
    for (i=1;i<=d;i++)
    {
       cin>>a>>b;
       c=a*b;
       cout<<c<<" ";
       f=0;
       while(c!=0)
       {
                  f=f+c%10;
                  c=c/10;
       }
       cout<<f<<endl;
      
    }
    system("pause");
}

dzieki

Ostatnio edytowany przez blinki (2009-11-09 22:20:15)


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#4  2009-11-09 22:10:02

  kondzio14 - Użytkownik

kondzio14
Użytkownik
Zarejestrowany: 2008-02-14

Re: Zagiął mnie program dla studentow ^^

Samowolka? Możesz zamieniać int na str i odwrotnie, wynik mnożenia zamieniasz na stringa, a później:

Kod:

#include <iostream>
#include <sstream>
using namespace std;

int main()
{
    
    string c="34431";
    int z;
    z = c.length();
        
    string * tabSTR = new string[z];
    
    for(int i=0; i<z; i++)
        tabSTR[i]=c[i];
    
    int k,wynik_d=0;
    for(int i=0; i<z; i++)
    {
        istringstream iss(tabSTR[i]);
        iss >> k;
        wynik_d +=k;
    }
    cout << wynik_d;
    
}

Offline

 

#5  2009-11-09 22:21:57

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

Re: Zagiął mnie program dla studentow ^^

wiesz tez myslalem o stringach :P


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#6  2009-11-09 22:24:19

  gindek - Zubr, bydle na etacie.

gindek
Zubr, bydle na etacie.
Skąd: Z puszczy.
Zarejestrowany: 2008-12-08

Re: Zagiął mnie program dla studentow ^^

"    system("pause");" tego raczej nie skompilujesz pod linuksem. polecenie "pause" jest z windy.
Algorytm Bercika jest chyba najlepszy ( tez o tym pomyslalem). Co ten automat wiedzial lepiej? No i kod kod wrzuc.


" Wojny przychodzą i odchodzą, a moi żołnierze są wieczni"


"Zbuduj mały, dziarski router z udostępnionych przez prowadzącego części od Kamaza?"

Offline

 

#7  2009-11-09 22:35:34

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

Re: Zagiął mnie program dla studentow ^^

gneralnie pisze pod linuxem ale pisze pod winde(przerabiam, czyli dodaje system pause) bo to dla dziewczyny ^^ poszla na informatyke do gdanska ^^ ale jak chce jej powiedziec ze linux jest PRO czy znia podyskutowac o informatyce to zmienia temat ^^

edit: no i zostal mi DUG ^^ z wami moge o informatyce pogadac ^^

Ostatnio edytowany przez blinki (2009-11-09 22:36:57)


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#8  2009-11-09 22:45:32

  kondzio14 - Użytkownik

kondzio14
Użytkownik
Zarejestrowany: 2008-02-14

Re: Zagiął mnie program dla studentow ^^

blinki zmień dziewczynę :P

Offline

 

#9  2009-11-09 22:49:16

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

Re: Zagiął mnie program dla studentow ^^

nie zmienie ^^ bo kocham bestie ^^


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#10  2009-11-10 02:06:13

  kondzio14 - Użytkownik

kondzio14
Użytkownik
Zarejestrowany: 2008-02-14

Re: Zagiął mnie program dla studentow ^^

blinki napisał(-a):

nie zmienie ^^ bo kocham bestie ^^

Daj ci Boże...

Podsumowując:

Kod:

#include <iostream>
#include <sstream>
using namespace std;

int main()
{
    int a,b,z,k,wynik_d=0;
    cout << "Podaj liczbe 'a' i 'b': ";
    cin >>a>>b;
    
    int iloczyn = a*b;
    ostringstream ss;
    ss << iloczyn;
    string str = ss.str();

    z = str.length();
    string * tabSTR = new string[z];
    
    for(int i=0; i<z; i++)
        tabSTR[i]=str[i];
    
    for(int i=0; i<z; i++)
    {
        istringstream iss(tabSTR[i]);
        iss >> k;
        wynik_d +=k;
    }
    
    cout << "Wynik mnozenia podanych liczb to " << iloczyn << ", a suma CYFR wyniku to " << wynik_d;
    delete []tabSTR;
    
}

Zwolnienie pamięci jest w powyższym przykładzie odpowiednie (pełne)?

Offline

 

#11  2009-11-10 02:13:12

  paoolo - Oldtimer

paoolo
Oldtimer
Skąd: Kraków
Zarejestrowany: 2006-05-20

Re: Zagiął mnie program dla studentow ^^

Mam pytanie, podobnie jak bercik myślę, nie da się tego zrobić tak

Kod:

int main() {
  int a,b,c,sum; sum=0;
  cin>>a>>b;
  c=a*b;
  while(c>0){
    sum=sum+c%10;
    c=c/10;
  }
  cout<<sum<<endl;
}

EDIT: sorry nie doczytałem dobrze, podobny już kod jest wyżej u autora problemu ;)

Ostatnio edytowany przez paoolo (2009-11-10 02:14:12)

Offline

 

#12  2009-11-10 11:39:37

  gindek - Zubr, bydle na etacie.

gindek
Zubr, bydle na etacie.
Skąd: Z puszczy.
Zarejestrowany: 2008-12-08

Re: Zagiął mnie program dla studentow ^^

Zwolnienie pamięci jest w powyższym przykładzie odpowiednie (pełne)?

w tym przypadku tak.
gdyby to byla tablica dwuwymiarowa to trzeba by petle zrobic usuwajaca jeden wymiar, no a potem normalnie wskaznik wywalic.
Ale pewnie znalazl by sie kompilator ktory usuwal by automatycznie tablice dwuwyiarowa, lub kompilator ktory kazal zwalniac pamiec "po kazdej komórce"

Ostatnio edytowany przez gindek (2009-11-10 11:40:48)


" Wojny przychodzą i odchodzą, a moi żołnierze są wieczni"


"Zbuduj mały, dziarski router z udostępnionych przez prowadzącego części od Kamaza?"

Offline

 

#13  2009-11-10 12:18:15

  kondzio14 - Użytkownik

kondzio14
Użytkownik
Zarejestrowany: 2008-02-14

Re: Zagiął mnie program dla studentow ^^

gindek tak myślałem, dzięki za potwierdzenie moich domniemań.

Ostatnio edytowany przez kondzio14 (2009-11-10 12:18:26)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)