Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.285
|
čitano: 1.704.237
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ja mislim da se za to koristi naredba floor, a evo i linka http://www.cplusplus.com/reference/clibrary/cmath/ tu imaš sve. :)

 

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

s tim da moraš includati math library

14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

#include<cstdlib>
#include<iostream>
#include<math.h>
#define pi 3.14159
using namespace std;

int main()
{
    float z;
    z=floor(pi);
    cout<<z<<endl;
    system("PAUSE");
    return 0;
}

17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Najduzi_niz kaže...

Muci me to sto kompajler nece otvorit program...

ima greske koje neznam rjesit. Imam rjesen zadatak na drugi (jednostavniji) nacin. Zanima me sta u mom nacinu nevalja. Nema svrhe samo prepisivat gotove programe... 

Unaprijed hvala na vremenu.

#include<iostream>
using namespace std;

class Employee
{
    public:
    Employee(int age, int radniStaz, int primanja);
    ~Employee ();
    int GetAge()const{return itsAge;}
    void SetAge(int age){itsAge = age;}

    int GetRadniStaz()const{return itsRadniStaz;}
    void SetRadniStaz(int radniStaz){itsRadniStaz = radniStaz;}

    int GetPrimanja()const{return itsPrimanja;}
    void SetPrimanja(int primanja){itsPrimanja = primanja;}

    private:
    int itsAge;
    int itsRadniStaz;
    int itsPrimanja;
};
 


Employee::Employee(int age, int radniStaz, int primanja)
{
    itsAge = age;
    itsRadniStaz = radniStaz;
    itsPrimanja = primanja;
}
Employee::~Employee () {}

int main()
{
    Employee Marko(25, 10, 2500);
    Marko.SetAge(23);
    Marko.SetRadniStaz(2);
    Marko.SetPrimanja(5400);
    cout << "Marko\nStarost: " << Marko.GetAge() << " godina.\n";
    cout << "Radni staz: " << Marko.GetRadniStaz() << " godina.\n";
    cout << "Primanja: " << Marko.GetPrimanja() << " kuna.\n\n";

   Employee Filip(28, 5, 3000);
    Filip.SetAge(54);
    Filip.SetRadniStaz(23);
    Filip.SetPrimanja(8200);
    cout << "Filip\nStarost: " << Filip.GetAge() << " godina.\n";
    cout << "Radni staz: " << Filip.GetRadniStaz() << " godina.\n";
    cout << "Primanja: " << Filip.GetPrimanja() << " kuna.\n";
    return 0;
}
Dakle, markerom sam ti označio gdje su ti bile greške:

- iza vitičaste zagrade koja zatvara klasu stavlja se semicolon ;

- pošto si deklarirao custom konstruktor u klasi moraš alokaciju objekata klase vršiti tim konstruktorom.

Poruka je uređivana zadnji put ned 25.9.2011 12:18 (Floki).
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ako misliš zadržati mogućnost da objekte klase alociraš defaultnim konstruktorom (onim bez argumenata) - onda ga moraš u klasi deklarirati.

Ovako:

 

 

#include<iostream>
using namespace std;

class Employee
{
    public:
    Employee();
    Employee(int age, int radniStaz, int primanja);
    ~Employee ();
    int GetAge()const{return itsAge;}
    void SetAge(int age){itsAge = age;}

    int GetRadniStaz()const{return itsRadniStaz;}
    void SetRadniStaz(int radniStaz){itsRadniStaz = radniStaz;}

    int GetPrimanja()const{return itsPrimanja;}
    void SetPrimanja(int primanja){itsPrimanja = primanja;}

    private:
    int itsAge;
    int itsRadniStaz;
    int itsPrimanja;
};
 
Employee::Employee()
{
    itsAge = 0;
    itsRadniStaz = 0;
    itsPrimanja = 0;
}

Employee::Employee(int age, int radniStaz, int primanja)
{
    itsAge = age;
    itsRadniStaz = radniStaz;
    itsPrimanja = primanja;
}
Employee::~Employee () {}

int main()
{
    Employee Marko;
    Marko.SetAge(23);
    Marko.SetRadniStaz(2);
    Marko.SetPrimanja(5400);
    cout << "Marko\nStarost: " << Marko.GetAge() << " godina.\n";
    cout << "Radni staz: " << Marko.GetRadniStaz() << " godina.\n";
    cout << "Primanja: " << Marko.GetPrimanja() << " kuna.\n\n";

    Employee Filip;
    Filip.SetAge(54);
    Filip.SetRadniStaz(23);
    Filip.SetPrimanja(8200);
    cout << "Filip\nStarost: " << Filip.GetAge() << " godina.\n";
    cout << "Radni staz: " << Filip.GetRadniStaz() << " godina.\n";
    cout << "Primanja: " << Filip.GetPrimanja() << " kuna.\n";
    return 0;
}

Poruka je uređivana zadnji put ned 25.9.2011 12:35 (Floki).
 
1 0 hvala 0
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

 

Kad smo već kod ovog jednostavnog OO primjera evo kako bi to izgledalo u C#.

Ne moramo deklarirati podatkovne članove klase, ne moramo deklarirati custom konstruktor ni defaultni konstrtuktor,

sve možemo napraviti preko public svojstava, čak i ako ih deklariramo kao read only možemo kroz konstruktor provesti inicijalizaciju,

još kad se tome pridoda intellisense u VS-u - to leti 300 na sat.

 

using System;
using System.Collections.Generic;
using System.Text;

namespace Zaposlenik
{
    class Zaposlenik
    {
        public int Dob { get; set; }
        public int RadniStaz { get; set; }
        public int Primanja { get; set; }

    }
    class Program
    {
        static void Main(string[] args)
        {
            Zaposlenik Marko = new Zaposlenik();
            Zaposlenik Janko = new Zaposlenik
            {
                Dob = 25,
                RadniStaz = 5,
                Primanja = 5500
            };
            Console.WriteLine("Marko \nDob: {0} \nRadni staž: {1} \nPrimanja: {2}", Marko.Dob, Marko.RadniStaz, Marko.Primanja);
            Console.WriteLine("\nJanko \nDob: {0} \nRadni staž: {1} \nPrimanja: {2}", Janko.Dob, Janko.RadniStaz, Janko.Primanja);
        }
    }
}

 

 

 

 

Poruka je uređivana zadnji put ned 25.9.2011 15:05 (Floki).
 
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Floki kaže...

Ako misliš zadržati mogućnost da objekte klase alociraš defaultnim konstruktorom (onim bez argumenata) - onda ga moraš u klasi deklarirati.

Ovako:

Hm, zar nebi kompajler trebao sam napraviti defaultni konstruktor, ako istoga nema? Ili to vrijedi samo kad nema nikakvog konstruktora?

There's no school like the old school and I'm the fucking headmaster!
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...
Floki kaže...

Ako misliš zadržati mogućnost da objekte klase alociraš defaultnim konstruktorom (onim bez argumenata) - onda ga moraš u klasi deklarirati.

Ovako:

Hm, zar nebi kompajler trebao sam napraviti defaultni konstruktor, ako istoga nema? Ili to vrijedi samo kad nema nikakvog konstruktora?

to vrijedi samo kad nisi deklarirao custom konstruktor - ako si deklarirao custom konstruktor onda moraš deklarirati i defaultni konstruktor ako misliš alocirati objekte defaultnim konstruktorom.

Iskreno, nisam vrtio po Demistificiranom da se prisjetim da sam to pročitao - samo sam zavrtio ovaj primjer u compileru i dobio potvrdu za to.

Ako u ovom primjeru izbaciš deklarirani defaultni konstruktor, a ostaviš custom konstruktor - ne možeš alocirati objekt klase defaultnim konstruktorom.

Poruka je uređivana zadnji put ned 25.9.2011 15:26 (Floki).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Floki kaže...

to vrijedi samo kad nisi deklarirao custom konstruktor - ako si deklarirao custom konstruktor onda moraš deklarirati i defaultni konstruktor.

Iskreno, nisam vrtio po Demistificiranom da se prisjetim da sam to pročitao - samo sam zavrtio ovaj primjer u compileru i dobio potvrdu za to.

Ako u ovom primjeru izbaciš deklarirani defaultni konstruktor, a ostaviš custom konstruktor - ne možeš alocirati objekt klase defaultnim konstruktorom.

Da, to sam si i mislio, ali nisam ni ja bio siguran, a neda mi se sad bas kopati po Demistificiranom, trebam uopce knjigu prvo naci xD. Tak mi i treba kad stvari po svuda ostavljam... :D

There's no school like the old school and I'm the fucking headmaster!
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ma tko bi to sve popamtio - evo sad sam vidio da i u C# vrijedi isto pravilo - da sam u onom svom gornjem primjeru deklarirao custom konstruktor,

one alokacije objekta klase Zaposlenik iz klase Program ne bi radile ako ne bi deklarirao i defaultni konstruktor.

Sjetim se da sam nešto pročitao tek kad naletm na problem - bar onda zapamtim.

 
1 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Puno hvala Floki legendo!!

Tek sam sad te konstruktore skuzio... u ovom programu zapravo neigraju nikakvu ulogu.

Inace konstruktori osiguravaju da varijabla uvijek ima vrijednost koja ima neko znacenje.

 
0 0 hvala 0
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Najduzi_niz kaže...

Puno hvala Floki legendo!!

Tek sam sad te konstruktore skuzio... u ovom programu zapravo neigraju nikakvu ulogu.

Inace konstruktori osiguravaju da varijabla uvijek ima vrijednost koja ima neko znacenje.

Igraju ulogu, čim alociraš objekt neke klase pozivaš njen konstruktor, ako nisi deklarirao nijedan konstruktor, poziva se onaj defaultni tj. standardni

ili ako hoćeš onaj bez argumenata, on alocira objekt ali ima jednu manu, ne inicijalizira podatkovne članove klase

 

#include<iostream>
using namespace std;

class Employee
{
    public:
    ~Employee ();
    int GetAge()const{return itsAge;}
    void SetAge(int age){itsAge = age;}

    int GetRadniStaz()const{return itsRadniStaz;}
    void SetRadniStaz(int radniStaz){itsRadniStaz = radniStaz;}

    int GetPrimanja()const{return itsPrimanja;}
    void SetPrimanja(int primanja){itsPrimanja = primanja;}

    private:
    int itsAge;
    int itsRadniStaz;
    int itsPrimanja;
};
 

Employee::~Employee () {}

int main()
{
    Employee Marko;
    cout << "Marko\nStarost: " << Marko.GetAge() << " godina.\n";
    cout << "Radni staz: " << Marko.GetRadniStaz() << " godina.\n";
    cout << "Primanja: " << Marko.GetPrimanja() << " kuna.\n\n";

    Employee Filip;
    Filip.SetAge(54);
    Filip.SetRadniStaz(23);
    Filip.SetPrimanja(8200);
    cout << "Filip\nStarost: " << Filip.GetAge() << " godina.\n";
    cout << "Radni staz: " << Filip.GetRadniStaz() << " godina.\n";
    cout << "Primanja: " << Filip.GetPrimanja() << " kuna.\n";
    return 0;
}
Evo, kompajliraj ovaj program, defaultni konstruktor kojeg nismo deklarirali je alocirao i Marka i Filipa, međutim za Marka smo dobili neke mrak vrijednosti pošto nije izvršena inicijalizacija podatkovnih članova klase. Pošto je to tako - za ovaj tvoj program je najbolje rješenje da izvršiš inicijalizaciju podatkovnih članova klase prilikom alokacije objekta, odnosno da napišeš onaj custom konstruktor Employee(int dob, int radniStaz, int primanja).

Poruka je uređivana zadnji put ned 25.9.2011 21:44 (Floki).
17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Isto tako, ako ne napises vlastiti destruktor, kompajler sam napravi defaultni za tebe. Iako je za jednostavne klase dovoljan, za bilo sto vise najbolje sam napisati destruktor. Isto tako moras paziti ako imas klasu koja sadrzi cistu virutalnu funkciju, da je ta klasa apstraktna i obavezno joj destruktor mora biti virtualan inace riskiras nepozivanje destruktora izvedenih klasa. Ako ne znas sto sam upravo sad rekao, zaboravi, kad dodes do tog dijela i naucis to onda ces skuziti sve. ;)

There's no school like the old school and I'm the fucking headmaster!
Poruka je uređivana zadnji put ned 25.9.2011 23:58 (1domagoj1).
 
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Trebala bi mi pomć sa klasama da mi ih netko laički objasni(rječnikom totalnog početnika) imam primjer jednostavnog koda pa ako mi netko na tom primjeru kako se klasa izvršava unutar programa i što je ona točno?

 

#include <iostream>
using namespace std;

class krug             // definicija klase
{
    public:          // blok privatnih varijabli klase

       double radijus;    // radijus kruga
};

void main(void)
{
    krug k;
    krug k1;// napravi objekt imena k klase krug;
    double d;   

    d = 1.3;
    k.radijus = d;       // podešavanje varijable radijus objekta k
    k1.radijus=d*d;

    cout << "Radijus kruga:" << k.radijus << endl;
    cout << "Radijus kruga duplo:" << k1.radijus << endl;    // ispis na ekran
}

 
0 0 hvala 0
17 godina
moderator
offline
Re: Programiranje u C++-u - pitanja i odgovori

@commanderbleso - pogledaj ova tri videozapisa pa onda pitaj ako ti još nešto nije jasno.

 

14 godina
protjeran
offline
Programiranje u C++-u - pitanja i odgovori
 
0 0 hvala 0
17 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori
koji je bolji compiler za c++ turbo c++ ili microsoft visual express (besplatni), računajući da turbo c++ compiler nikako ne mogu naći za skinuti -.-
It's hard to believe That there's nobody out there It's hard to believe That I'm all alone...
17 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori
unknown kaže...
koji je bolji compiler za c++ turbo c++ ili microsoft visual express (besplatni), računajući da turbo c++ compiler nikako ne mogu naći za skinuti -.-

Koliko ja znam Turbo C++ je zastarjeli kompajler. Nasljednik mu je Borland C++, a s obzirom da je Borland C++ proprietary (po mom saznanju), onda valjda Microsoftov. A opet, ovisi za sto ti treba...

There's no school like the old school and I'm the fucking headmaster!
17 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori
1domagoj1 kaže...
unknown kaže...
koji je bolji compiler za c++ turbo c++ ili microsoft visual express (besplatni), računajući da turbo c++ compiler nikako ne mogu naći za skinuti -.-

Koliko ja znam Turbo C++ je zastarjeli kompajler. Nasljednik mu je Borland C++, a s obzirom da je Borland C++ proprietary (po mom saznanju), onda valjda Microsoftov. A opet, ovisi za sto ti treba...

budem koristio microsoftov. Imam neugodna iskustva sa više manje svim compilerima, jer nakon nekog vremena mi ne želi ni jednostavnu naredbu cout<<" hello world" ispisat,ali valjda sam ja za to kriv. {#}

It's hard to believe That there's nobody out there It's hard to believe That I'm all alone...
Poruka je uređivana zadnji put sri 28.9.2011 22:28 (unknown).
17 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori
unknown kaže...

budem koristio microsoftov. Imam neugodna iskustva sa više manje svim compilerima, jer nakon nekog vremena mi ne želi ni jednostavnu naredbu cout<<" hello world" ispisat,ali valjda sam ja za to kriv. {#}

To onda bas i nema veze s kompajlerima... Kompajler nista ne ispisuje, kompajler samo iz ljudima citljivog source koda generira strojni kod.

 

Sad kad ovo kazes, skuzio sam da ti zapravo mislis na IDE, a ne na kompajler (mislio sam da mislis na kompajler koji Visual Express koristi). Postoji velika razlika izmedu Integrated development environmenta i kompajlera. Kompajler je samo jedan od alata koje IDE objedinjuje (a objedinjuje editor, kompajler, debugger itd.).

There's no school like the old school and I'm the fucking headmaster!
17 godina
moderator
offline
Re: Programiranje u c++-u- pitanja i odgovori
unknown kaže...

budem koristio microsoftov. Imam neugodna iskustva sa više manje svim compilerima, jer nakon nekog vremena mi ne želi ni jednostavnu naredbu cout<<" hello world" ispisat,ali valjda sam ja za to kriv. {#}

To prolazi u svim C++ kompajlerima koji imaju istream u standardnoj biblioteci (a to su vjerojatno svi, eventualno možda neki za embedded platforme ili mobitele ili štoveć). Dakle, da - sam si kriv za to.

16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ako može netko da mi pomogne oko ovog zadatka bio bih zahvalan, ja sam ga uradio ali mi ne radi...

 

Napišite program koji učitava dva cijela broja, a u funkciji se računa suma znamenaka koji se u
unesenim brojevima ponavljaju na istim pozicijama(npr. 123456 i 2446 -> 4 i 6 -> 10).

 

#include <stdio.h>
#include <string.h>

int suma(int x[20], int y[20]);

void main()
{
   int a[20], b[20], br;

   scanf("%d %d", a, b);
   br = suma(a, b);
   printf("%d", br);
}

int suma(int x[20], int y[20])
{
  int i, a, b, d, zbroj=0;
  if(a<b)
    {
     d=a;
    }
   else
    {
     d=b;
    }
   for(i=0;i<d;i++)
    {
     if(x[i]==y[i])
      {
        zbroj=zbroj+x[i];
      }
     }
    return zbroj;
}

E8500, EP45-DS3, HD4870 GS, DDR 4GB, Corsair TX650, WD 640GB, T220, TERRATEC Cinergy 2400i DT Dual DVB-T tuner
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Isto tako i ovaj sa datotekama kompajl kaže da je sve u redu, da li može bit zbog toga sto nema ništa u datoteci?

 

Napišite program koji čita sve cijele brojeve iz datoteke.
Nakon toga odredi prosječnu vrijednost svih učitanih brojeva!

 

#include <stdio.h>

void main()
{
 int niz[20], br=0, i, sum=0, pr;
 FILE *dat;

 dat=fopen("brojevi","r");
 while(!feof(dat))
 {
  fscanf(dat,"%d", &niz[br]);
  br++;
 }
 fclose(dat);

 for(i=0;i<br;i++)
 {
  sum=sum+niz[i];
 }
 pr=sum/br;
 printf("%d", pr);
}

 

E8500, EP45-DS3, HD4870 GS, DDR 4GB, Corsair TX650, WD 640GB, T220, TERRATEC Cinergy 2400i DT Dual DVB-T tuner
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
sportline kaže...
Napišite program koji učitava dva cijela broja, a u funkciji se računa suma znamenaka koji se u

unesenim brojevima ponavljaju na istim pozicijama(npr. 123456 i 2446 -> 4 i 6 -> 10).

Ti tretiras integer kao polje kojemu mozes pomocu indeksiranja doci do pojedinih znamenki. To tako ne funckionira. Mozes to rijesiti tako da napises funkciju koja ce izvuci pojedine znamenku iz broja, ili (puno jednostavnije) unjeti dva broja kao string a ne integer. Tako ces lagano moci provjeriti ponavljaju li se znamenke na nekim mjestima, potom ASCII vrijednosti znakova konvertirati u brojeve koje te znamenke predstavljaju pa ih zbrajati.

 

sportline kaže...

Isto tako i ovaj sa datotekama kompajl kaže da je sve u redu, da li može bit zbog toga sto nema ništa u datoteci?

Pa logicno. Nista ne mozes procitati iz prazne datoteke jer u njoj nema nicega :D

To je obicna tekstualna datoteka, otvori notepad i upisi nekakve vrijednosti u nju.

My computer once beat me at chess, but we got even after a round of boxing.
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Znači ovaj drugi je u redu samo treba napraviti *dat u notped-u, to ne znam ali nije mi ni bitno.

A ovaj prvi ne kužim(skontao sam jedino da intiger ne mogu indeksirat), kako ću napravit funkciju da mi izvuče pojedinu znamenku iz broja? I zar se može unijeti broj kao string, to nisam znao i kako ću onda konvertirati ASCII vrijednosti znakova u brojeve. Molim te je li mi možeš to uraditi?

E8500, EP45-DS3, HD4870 GS, DDR 4GB, Corsair TX650, WD 640GB, T220, TERRATEC Cinergy 2400i DT Dual DVB-T tuner
Poruka je uređivana zadnji put čet 29.9.2011 18:11 (sportline).
17 godina
moderator
offline
Re: Programiranje u C++-u - pitanja i odgovori
sportline kaže...
int suma(int x[20], int y[20])

{
  int i, a, b, d, zbroj=0;
  if(a<b)
    {
     d=a;
    }
   else
    {
     d=b;
    }
   for(i=0;i<d;i++)
    {
     if(x[i]==y[i])
      {
        zbroj=zbroj+x[i];
      }
     }
    return zbroj;
}

Niti jednu od varijabli označenu žutim markerom nisi inicijalizirao! Njihova vrijednost je nepoznata, nedefinirana u tvom programu! I onda uspoređuješ je li nepoznati a manji od nepoznatog b! Koja je poanta svega toga? Također, zašto si tako nazvao varijable? Iz naziva varijable treba se znati čemu varijabla služi. Varijabla i ti može ostati i (integer, iterator), međutim nema je smisla deklarirati na početku funkcije. Varijabla i, kad se koristi unutar petlje, u pravilu se deklarira za petlju, dakle for (int i = 0; i <...).

17 godina
moderator
offline
Re: Programiranje u C++-u - pitanja i odgovori
sportline kaže...

A ovaj prvi ne kužim(skontao sam jedino da intiger ne mogu indeksirat), kako ću napravit funkciju da mi izvuče pojedinu znamenku iz broja? I zar se može unijeti broj kao string, to nisam znao i kako ću onda konvertirati ASCII vrijednosti znakova u brojeve. Molim te je li mi možeš to uraditi?

Ako broj unosiš kao integer, dakle kao broj, do njegovih znamenki možeš doći cjelobrojnim dijeljenjima (/) i ostacima od dijeljenja (modulo iliti operator %). Naime, ako nad nekim brojem napraviš operaciju

 

broj % 10

 

time si dobio zadnju znamenku. Npr., 4348378728347847 % 10 je 7. Znači imaš zadnju znamenku i možeš raditi s njom što želiš. I što dalje radiš? Podijeliš broj s 10. Što si time učinio? Odrezao si zadnju znamenku broja. I ponavljaš sve to dok ti broj ne postane nula, dakle dok nisi uklonio sve znamenke.

 

......................

 

Ako unosiš kao niz znakova - kako ćeš dobiti iz ASCII znaka dobiti vrijednost znamenke? Iz znamenke '0' bi trebao biti dobiti vrijednost - nula, zar ne? Što se događa ako napraviš ovo: vrijednost_znamenke = ASCII_znamenka - '0'? (PS nisam 100% siguran da se tako mogu oduzimati charovi - provjeri). Pa ako je ASCII_znamenka '0' i od nje oduzmeš '0', dobit ćeš koliko? Nula, je li tako? Ako je ASCII_znamenka '1' i oduzmeš od nje '0', dobit ćeš cjelobrojnu vrijednost od koliko? 1.

16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Svaka tebi čast ali ja ovo ne znam uradit, 'a' i 'b' sam unosio kao neke brojeve pa sam ih uspoređivao da odredim koji je duži to je ono 'd' da do tog broja vrtim for petlju jer je dalje nepotrebno(pa da onda odredim u drugoj petlji na kojim mjestima imaju iste znakove), ali to je slučaj sa stringovima, a sa integerima se ne može tako.

E8500, EP45-DS3, HD4870 GS, DDR 2x2GB, Corsair TX650, WD 640GB, SAMSUNG HD103SJ 1TB,SAMSUNG T220, TERRATEC Cinergy 2400i DT Dual DVB-T tuner
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
sportline kaže...

Znači ovaj drugi je u redu samo treba napraviti *dat u notped-u, to ne znam ali nije mi ni bitno.

Kako ne znas? Nauci. Napravi datoteku brojevi.txt, u nju u svaki red ukucaj po jedan cijeli broj. Spremi datoteku u folder gdje se nalazi program.

 

Liniju u programu izmjeni sa:

dat=fopen("brojevi","r");

 

u:

dat=fopen("brojevi.txt","r");

 

I eto ga. Velika stvar... :D

 

Btw. ovo sto si ti do sada pisao je C a ne C++. Nauci razlikovati ta dva jezika.

My computer once beat me at chess, but we got even after a round of boxing.
17 godina
moderator
offline
Re: Programiranje u C++-u - pitanja i odgovori
sportline kaže...

Svaka tebi čast ali ja ovo ne znam uradit, 'a' i 'b' sam unosio kao neke brojeve pa sam ih uspoređivao da odredim koji je duži to je ono 'd' da do tog broja vrtim for petlju jer je dalje nepotrebno(pa da onda odredim u drugoj petlji na kojim mjestima imaju iste znakove), ali to je slučaj sa stringovima, a sa integerima se ne može tako.

Pa ako imaš nefunkcionalne dijelove programa, onda to obriši iz programa. Ta funkcija ti nema baš nikakvog smisla.

 

////////////////////////////////////////////////////////////////

#include <iostream>

using namespace std;

int main()
{
    int broj;
    cout << "Upisi broj: ";
    cin >> broj;

    cout << "Znamenke broja (od zadnje prema prvoj): [ ";

    while (broj != 0) {
        int znamenka = broj % 10;
        cout << znamenka << " ";

        broj /= 10;
    }

    cout << "]\n\n";
    return 0;
}
////////////////////////////////////////////////////////////////

E-mail:
Lozinka:
 
vrh stranice