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

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

Tako sam i pretpostavljao, hvala :)

...The South Will Rise Again... White -h- boys
Poruka je uređivana zadnji put ned 5.4.2015 22:46 (Coder256).
Moj PC  
0 0 hvala 0
13 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Coder256 kaže...

Tako sam i pretpostavljao, hvala :)

Možeš koristiti getline funkciju.

0100011001000001010100000010000000110100001000000100110001001001010001100100010100100001
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Mogu li pisati aplikaciju za Android u C++?

 
0 0 hvala 0
11 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
ilyaz97 kaže...

Mogu li pisati aplikaciju za Android u C++?

 https://developer.android.com/tools/sdk/ndk/index.html

14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
ilyaz97 kaže...

Mogu li pisati aplikaciju za Android u C++?

Ako koristiš C++ Builder onda možeš i za Android i iOS.

11 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...
ilyaz97 kaže...

Mogu li pisati aplikaciju za Android u C++?

Ako koristiš C++ Builder onda možeš i za Android i iOS.

 Sto se tice iOS-a Objective-C za UI i C++ za background

15 godina
offline
Programiranje u C++-u - pitanja i odgovori

Trebam pomoć...

Iz maina korisnik treba unijeti brod koji će zauzimati dva mjesta u polju p1.

0 - slobodno mjesto

1 - zauzeto mjesto

Koordinate broda se šalju u klasu koja nakon provjere stavlja 1 na te koordinate u polje, što označava položaj broda. 

 

 

*k1=char, k2=int

for (int i = 0; i < 2; i++)
{
   cout << (i + 1) << ". mjesto za brod?" << endl;
   cin >> k1 >> k2;      //koordinate broda
   p1.unos(k1, k2, 2);     //poziv funkcije iz klase
}

Metode u klasi:

bool provjera(int a, int b)
{
   if (p1[(int)a-65][b-1] == 0)    //ako je mjesto u polju slobodno vraca true
   return true;
}

void unos(int ko1, int ko2, int a)
{
   for (int i = 0; i < a; i++)
   {
     pr1 = provjera(ko1, ko2); //poziv funkcije koja provjerava je li to mjesto slobodno
     if (pr1)
     {
      p1[(int)ko1 - 65][ko2 - 1] = 1; //popunjavanje mjesta u polju
     }

   }
}

Moj problem je što mi se pojavi dodatna 1, jedan element prije od onoga koji je korisnik unio, ali samo ako korisnik želi brod na prvom elementu nekog reda.

Jako komplicirano za objasnit riječima zato ću vam staviti slike da vidite o čemu pričam.

Ako korisnik unese brod na B2 i B3 onda nema te jedinice viška.

Ova zadnja jedinica u prvome redu je viška Ova zadnja jedinica u prvome redu je viška
...The South Will Rise Again... White -h- boys
Poruka je uređivana zadnji put pet 10.4.2015 16:29 (Coder256).
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Zamolio bih za malu pomoć. Imam poteškoća sa zadatkom iz knjige ''Demistificirani C++''. Zadatak je iz poglavlja o while petlji (str. 105), a glasi ovako:

''Dopunite gornji program tako da nakon sadržaja datoteke ispiše i broj iščitanih brojeva i njihovu srednju vrijednost.''


Taj 'gornji program' koji se spominje je program za ispis sadržaja datoteke s brojevima, a kod je sljedeći:

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

int main(){
ifstream ulazniTok("brojevi.dat");
cout << "Sadržaj datoteke:" << endl << endl;
double broj;
while ((ulazniTok >> broj) != 0)
cout << broj << endl;
return 0;
}


Srednju vrjednost bih znao uraditi, ali da bi to mogao izračunati potrebno je prvo dobiti broj iščitanih brojeva što ja ne znam kako uraditi. Da li bi netko bio voljan pomoći?

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

Zamolio bih za malu pomoć. Imam poteškoća sa zadatkom iz knjige ''Demistificirani C++''. Zadatak je iz poglavlja o while petlji (str. 105), a glasi ovako:

''Dopunite gornji program tako da nakon sadržaja datoteke ispiše i broj iščitanih brojeva i njihovu srednju vrijednost.''


Taj 'gornji program' koji se spominje je program za ispis sadržaja datoteke s brojevima, a kod je sljedeći:

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

int main(){
ifstream ulazniTok("brojevi.dat");
cout << "Sadržaj datoteke:" << endl << endl;
double broj;
while ((ulazniTok >> broj) != 0)
cout << broj << endl;
return 0;
}


Srednju vrjednost bih znao uraditi, ali da bi to mogao izračunati potrebno je prvo dobiti broj iščitanih brojeva što ja ne znam kako uraditi. Da li bi netko bio voljan pomoći?

 Prebrojiš ih inkrementom varijable brojac koju prethodno inicijaliziraš na 0.

Npr. upis u datoteku 5 int brojeva, zatim ispis iz datoteke tih brojeva i izračun srednje vrijednosti.

 

#include<iostream>
#include<fstream>

using namespace std;

int main()
{
   int broj, brojac = 0, suma = 0;
   ofstream izlaz("brojevi.dat");
   for (int i = 0; i < 5; i++)
   {
      cin >> broj;
      izlaz << broj << endl;
   }
   izlaz.close();
   ifstream ulaz("brojevi.dat");
   while (ulaz >> broj)
   {
      cout << broj;
      brojac++;
      suma += broj;
   }
   cout << endl;
   cout << (double)suma / brojac << endl;
   ulaz.close();
   return 0;
}

Poruka je uređivana zadnji put sub 11.4.2015 22:11 (Floki).
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Coder256 kaže...

Trebam pomoć...

Iz maina korisnik treba unijeti brod koji će zauzimati dva mjesta u polju p1.

0 - slobodno mjesto

1 - zauzeto mjesto

Koordinate broda se šalju u klasu koja nakon provjere stavlja 1 na te koordinate u polje, što označava položaj broda. 

 

 

*k1=char, k2=int

for (int i = 0; i < 2; i++)
{
   cout << (i + 1) << ". mjesto za brod?" << endl;
   cin >> k1 >> k2;      //koordinate broda
   p1.unos(k1, k2, 2);     //poziv funkcije iz klase
}

Metode u klasi:

bool provjera(int a, int b)
{
   if (p1[(int)a-65][b-1] == 0)    //ako je mjesto u polju slobodno vraca true
   return true;
}

void unos(int ko1, int ko2, int a)
{
   for (int i = 0; i < a; i++)
   {
     pr1 = provjera(ko1, ko2); //poziv funkcije koja provjerava je li to mjesto slobodno
     if (pr1)
     {
      p1[(int)ko1 - 65][ko2 - 1] = 1; //popunjavanje mjesta u polju
     }

   }
}

Moj problem je što mi se pojavi dodatna 1, jedan element prije od onoga koji je korisnik unio, ali samo ako korisnik želi brod na prvom elementu nekog reda.

Jako komplicirano za objasnit riječima zato ću vam staviti slike da vidite o čemu pričam.

Ako korisnik unese brod na B2 i B3 onda nema te jedinice viška.

 Do ovog dijela koda ti nije problem.

Evo, provjeri sam. Izbacio sam provjeru jer ovdje ovako postavljena nema smisla, svodi se na to da preko 1 ne staviš novi 1.

Castanje int varijable u int varijablu u funkciji unos isto je nepotrebno, kao i petlja u unos funkciji, više puta provjerava isto mjesto u matrici.

 

#include<iostream>
#include<fstream>

using namespace std;

int p1[6][6];


void unos(int red, int stupac)
{
   p1[red - 65][stupac - 1] = 1; //popunjavanje mjesta u polju
}
void ispis()
{
   for (int i = 0; i < 6; i++)
   {
      for (int j = 0; j < 6; j++)
      {
         cout << p1[i][j];
      }
      cout << endl;
   }
}
int main()
{
   char red;
   int stupac;
   ispis();
   for (int i = 0; i < 2; i++)
   {
      cout << (i + 1) << ". mjesto za brod?" << endl;
      cin >> red  >> stupac;      //koordinate broda
      unos(red, stupac);
   }
   ispis();
   return 0;
}

Poruka je uređivana zadnji put ned 12.4.2015 14:16 (Floki).
16 godina
offline
Programiranje u C++-u - pitanja i odgovori

koja je prednost korištenja preopterećenja operatora << i>> u odnosu na cin i cout

primjera radi:

 

ostream& operator<<(ostream &var1, Kredit &var2);

istream& operator>>(istream &var1, Kredit &var2);

Moj PC  
0 0 hvala 0
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Makić kaže...

koja je prednost korištenja preopterećenja operatora << i>> u odnosu na cin i cout

primjera radi:

 

ostream& operator<<(ostream &var1, Kredit &var2);

istream& operator>>(istream &var1, Kredit &var2);

 Je li Tracer ovdje besplatno ostavio skriptu? Jeste.

Je li obradio preopterećenje operatora u toj skripti? Jeste.

Pa u čemu je onda problem.

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

smiri se floki, taj post o skripti mi se omaka

Moj PC  
0 0 hvala 0
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Makić kaže...

smiri se floki, taj post o skripti mi se omaka

 Eh, nisam ljut, više sam napisao retorički, samo ti kažem gdje to ima, čini mi se  200. strana ovdje je link, a u skripti 6. vježba, tako nekako. Na primjeru kompleksnih brojeva je objašnjeno.

Oprosti ako si pogrešno shvatio, a ovo ti je najbolji odgovor, prođi tu skriptu, provježbaj primjere i vidjet ćeš kako ćeš napredovati u znanju, kad radiš sistematski, rezultat je bolji od parcijalnog dobijanja odgovora na forumu. Kad nešto zapne u kodu, pitaj, netko će pomoći.

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

http://www.bug.hr/forum/topic/programiranje/programiranje-c-pitanja-odgovori/98845.aspx?page=199&jumpto=4568763&sort=asc&view=flat

 

Na stranici 57 je dio o prepoterećenju operatora << i >>.

 

Najbolji si ovakve stvari staviti u arhivu postova pa onda kasnije znaš gdje je.

Poruka je uređivana zadnji put ned 12.4.2015 17:48 (TracerCPP).
Moj PC  
1 0 hvala 1
16 godina
offline
Programiranje u C++-u - pitanja i odgovori

ma skinia ja skriput, nek se nađe.. baš čitam lagano

Moj PC  
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Floki kaže...

 Do ovog dijela koda ti nije problem.

Evo, provjeri sam. Izbacio sam provjeru jer ovdje ovako postavljena nema smisla, svodi se na to da preko 1 ne staviš novi 1.

Castanje int varijable u int varijablu u funkciji unos isto je nepotrebno, kao i petlja u unos funkciji, više puta provjerava isto mjesto u matrici.

 

#include<iostream>
#include<fstream>

using namespace std;

int p1[6][6];


void unos(int red, int stupac)
{
   p1[red - 65][stupac - 1] = 1; //popunjavanje mjesta u polju
}
void ispis()
{
   for (int i = 0; i < 6; i++)
   {
      for (int j = 0; j < 6; j++)
      {
         cout << p1[i][j];
      }
      cout << endl;
   }
}
int main()
{
   char red;
   int stupac;
   ispis();
   for (int i = 0; i < 2; i++)
   {
      cout << (i + 1) << ". mjesto za brod?" << endl;
      cin >> red  >> stupac;      //koordinate broda
      unos(red, stupac);
   }
   ispis();
   return 0;
}

 BOLD: To i je cilj provjere. A kako vidim u ovome tvome kodu, ako korisnik opet unese to polje, program će to izvršiti, a ne bi smio.

Castanje mi se omaklo malo, lapsus. Petlju pojma nemam sada zašto sam je stavljao.

...The South Will Rise Again... White -h- boys
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Coder256 kaže...
Floki kaže...

 Do ovog dijela koda ti nije problem.

Evo, provjeri sam. Izbacio sam provjeru jer ovdje ovako postavljena nema smisla, svodi se na to da preko 1 ne staviš novi 1.

Castanje int varijable u int varijablu u funkciji unos isto je nepotrebno, kao i petlja u unos funkciji, više puta provjerava isto mjesto u matrici.

 

#include<iostream>
#include<fstream>

using namespace std;

int p1[6][6];


void unos(int red, int stupac)
{
   p1[red - 65][stupac - 1] = 1; //popunjavanje mjesta u polju
}
void ispis()
{
   for (int i = 0; i < 6; i++)
   {
      for (int j = 0; j < 6; j++)
      {
         cout << p1[i][j];
      }
      cout << endl;
   }
}
int main()
{
   char red;
   int stupac;
   ispis();
   for (int i = 0; i < 2; i++)
   {
      cout << (i + 1) << ". mjesto za brod?" << endl;
      cin >> red  >> stupac;      //koordinate broda
      unos(red, stupac);
   }
   ispis();
   return 0;
}

 BOLD: To i je cilj provjere. A kako vidim u ovome tvome kodu, ako korisnik opet unese to polje, program će to izvršiti, a ne bi smio.

Castanje mi se omaklo malo, lapsus. Petlju pojma nemam sada zašto sam je stavljao.

 Ne omogućava ti da odrediš druge koordinate za unos ako je mjesto zauzeto, pet puta da uneseš A1 ili samo jedan put, rezultat je isti, 1 na mjestu polje1[0][0], druga stvar bi bila da traži ponovni unos do slobodnog mjesta. Ovako razlike između mog i tvog koda nema, pet puta uneseš A1 i na mjestu polje1[0][0] se nalazi 1, unio taj 1 pet puta ili jednom koja razlika, cilj provjere ispada da bi bio spriječiti da se ponovno ne unese što već imamo, imalo bi smisla kad bi program tražio unos npr. pet točaka i ako odrediš dvije iste, provjerom ti traži unos druge koordinate.

Ali kako god, do ovog koda ti nije greška da se pojavi 1 na mjestu polje1[0][5] ako uneseš B1 i B2.

Poruka je uređivana zadnji put pon 13.4.2015 14:37 (Floki).
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

Evo onda kompletan kod, pa se nadam da ćeš naći di je greška.

I hvala za ovo objašnjenje :)

Ovo je samo ugrubo napravljen program kako bi stvar radila, a nakon šta se napravi krenit će na uljepšavanje.

#include <iostream>
using namespace std;

class polja
{
   int p1[5][5];
   int p2[5][5];
   //char k1[] = { 'A', 'B', 'C', 'D', 'E', 'F' };
   //int k2[] = { 1, 2, 3, 4, 5, 6 };
   char a;
   int b;
   bool pr1;

public:
   void popunjavanje()
   {
      for (int i = 0; i < 6; i++)
      {
         for (int j = 0; j < 6; j++)
         {
            p1[i][j] = 0;
            p2[i][j] = 0;
         }
      }
   }
   void ispisi1()
   {
      //for (int i = 0; i < 6; i++)
      //   cout << k1[i];
      for (int i = 0; i < 6; i++)
      {
         for (int j = 0; j < 6; j++)
         {
            cout << p1[i][j];
            if (j == 5)
            {
               cout << "\n";
            //   cout << k2;
            }
         }
      }
      cout << endl;
   }
   void ispisi2()
   {
      for (int i = 0; i < 6; i++)
      {
         for (int j = 0; j < 6; j++)
         {
            cout << p2[i][j];
            if (j == 5)
               cout << "\n";
         }
      }
      cout << endl;
   }
   bool provjera(int a, int b)
   {
      if (p1[(int)a-65][b-1] == 0) //ako je mjesto u polju slobodno vraca true
         return true;
   }
   void unos(int ko1, int ko2, int a)
   {
      for (int i = 0; i < a; i++)
      {
         pr1 = provjera(ko1, ko2); //poziv funkcije koja provjerava je li to mjesto slobodno
         if (pr1)
            p1[(int)ko1 - 65][ko2 - 1] = 1; //popunjavanje mjesta u polju
            
      }
   }
};

int main()
{
   polja p1;
   char k1;
   int k2;

   p1.popunjavanje();
   p1.ispisi1();
   p1.ispisi2();
   cout << "Imate 4 broda:" << "\n 2 broda (2 elementa)" << "\n 1 brod (3 elementa)" << "\n 1 brod (4 elementa)." << endl;
   cout << "Unesi 1. brod od 2 elementa: " << endl;
   for (int i = 0; i < 2; i++)
   {
         cout << (i + 1) << ". mjesto za brod?" << endl;
         cin >> k1 >> k2; //koordinate broda
         p1.unos(k1, k2, 2); //poziv funkcije iz klase
   }
   p1.ispisi1();


   system("pause");
   return 0;
}

...The South Will Rise Again... White -h- boys
Moj PC  
0 0 hvala 0
12 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Coder256 kaže...

Evo onda kompletan kod, pa se nadam da ćeš naći di je greška.

I hvala za ovo objašnjenje :)

Funkcije popunjavanje i ispisi1/2 obje imaju petlje i=0; i<6. Najveci indeks za p1[5][5] je 4,4. Upisujes i ispisujes podatke van granica matrice.

17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Točno to, upis i ispis van granica matrice.

 

Usput, ovdje pogrešno napisana funkcija provjera nema značaj da utječe na program jer ionako ničemu ne služi, mada pogrešno radi.

Pošto će ti ta funkcija trebati za napraviti provjeru koja nečemu služi, u oba slučaja funkcija mora vratiti vrijednost. Dakle, ako ne vrati true iz if bloka neka vrati false na kraju funkcije.

Poruka je uređivana zadnji put uto 14.4.2015 12:46 (Floki).
 
0 0 hvala 1
16 godina
offline
Programiranje u C++-u - pitanja i odgovori

taman sam doša na friend u klasama, pa je bia zadatak:

Definirajte klasu Pravac sa privatnim podatkovnim članovima k i l.Definirajte klasu

Tocka sa privatnim podatkovnim članovima x i y. Napišite funkciju (nebitno kakva)

koja će biti prijatelj i klase Pravac i klase Tocka, pristupat će izravno njihovim podatkovnim

članovima i ovako je definirana: double Funkcija(Pravac &p, Tocka &t).

 

ja sam to ovako napravia, pa ću pitati jel ovo pravilno korištenje friend funkcije

#include<iostream>
using namespace std;
class tocka;
class pravac{
   friend double udalje(pravac &p, tocka &t);
   private:
    double k,l;
public:
   void upisik(double ka);
   void upisil (double el);
   double citajk(){return k;}
   double citajl(){return l;}
};
void pravac::upisik(double ka){
   k=ka;
}
void pravac::upisil(double el){
   l=el;
}
class tocka{
   friend double udalje(pravac &p, tocka &t);
private:
   double x,y;
public:
   void postavi(double xx, double yy){
   x=xx;
   y=yy;
   }
   int dajy(){return y;}
   int dajx(){return x;}
};
double udalje(pravac &p, tocka &t){
   double d=((p.k*t.x)-(t.y+p.l))/(pow(((p.k*p.k)+1),0.5));
   return d;
}
int main(){
   pravac d;
   d.upisik(5);
   d.upisil(2);
   tocka r;
   r.postavi(3,5);
   cout<<udalje(d,r);
   return 0;
}

Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Nadam se da nije previše offtopic. 

Ugl. u školi učimo MASM(Microsoft Macro Assembler ) i trenutno radimo sa pozivanjem funkcija iz C filea.

 

Ne znam kako napraviti da u C fileu pomoću funkcije mogu ispisati željenu poruku koristeći printf.

 

U školi moramo koristiti Visual Studio 2008.

 

Bio bih jako zahvalan kada bi mi netko mogao pomoći oko ovoga.

 

Primjer MASM filea:

 

TITLE MASM Template (main.asm)

.386
.model FLAT
.stack 4096

 

WriteString PROTO stdcall
ReadChar PROTO stdcall
Crlf PROTO stdcall
ExitProcess PROTO stdcall:DWORD
veci PROTO C :DWORD, :DWORD


.data

PorukaZaIspis db "Poruka za ispis", 0

.code

_main PROC

; MJESTO ZA PROGRAMIRANJE:
comment /*
komentar kroz vise redaka
/*


push 8
push 3
call veci ; funkcija sprema veci broj u eax registar

 

; zelim napraviti funkciju koja ispise poruku pomocu printf


call Crlf
mov edx, OFFSET PorukaZaIspis
call WriteString

call ReadChar
Invoke ExitProcess, 0

_main ENDP
END _main

END

 

Primjer C filea u kojem imam funckiju veci:

 

int veci(int a, int b) {
if ( a > b)
return a;
else
return b;
}

web developer
 
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Floki kaže...

Točno to, upis i ispis van granica matrice.

 

Usput, ovdje pogrešno napisana funkcija provjera nema značaj da utječe na program jer ionako ničemu ne služi, mada pogrešno radi.

Pošto će ti ta funkcija trebati za napraviti provjeru koja nečemu služi, u oba slučaja funkcija mora vratiti vrijednost. Dakle, ako ne vrati true iz if bloka neka vrati false na kraju funkcije.

Hvala obojici na primjećenoj grešci, stvarno početnička greška...

Jel imate neki prijedlog kako napisat tu provjeru? Trebala bi naređivati korisniku da može unijeti koordinate samo za jedno polje od početne koordinate u nekom smjeru i to ako tu već nije drugi brod...

...The South Will Rise Again... White -h- boys
10 godina
neaktivan
offline
Problem s programom C++

Instalirao sam program Dev-C++, sve namjestio i pokrenuo. Sve je radilo kako treba. Malo sam vježbao u njemu, pretraživao tutoriale za C++ i pisao. Spremio sam jedan program i ugasio C++. Nakon dva sata sam ga ponovno htio uključiti, vrtio se onaj plavi krug kraj miša tj. program se učitavao ali ništa se nije dogodilo. Nekoliko puta sam ga pokušao ali nije se upalio. Deinstalirao sam program i ponovno ga instalirao. Sve riješio s postavkama i označio ''Završi i pokreni C++.'', ali opet se neće upaliti. Još jednom sam ga deinstalirao (ovaj novi) i preuzeo s iste internetske stranice. Ali opet se neće upaliti. Znači, moje pitanje je ''Što da radim i kako instalirati program, ali da radi?''. (Danas sam se registrirao pa ne znam napraviti temu.)

                                                                                                         16.4.2015.

 

 

 

 

 

 

 

Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Re: Problem s programom C++

i ja sam koristim dev c++,meni radi normalno a skinuo sam ga sa službene stranice.koje ste vi koristili knjige za učenje c++?

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

imam jedno pitanje moram iz c prebacit u c++

znači imam struktru nju prebacujem u klasu

typedef struct {                        /* chart axes definition */
    short       grid;                   /* if TRUE draw grid lines */
    short       gridstyle;              /* style number for grid lines */
    titletype   axistitle;              /* axis title */
    COLORREF    axiscolor;              /* palette color for axis */
    short       labeled;                /* if TRUE draw tic marks and titles */
    short       rangetype;              /* _PG_LINEARAXIS or _PG_LOGAXIS */
    float       logbase;                /* base used for log axis */
    short       autoscale;              /* if TRUE calculate remaining values */
    float       scalemin;               /* minimum value for scale */
    float       scalemax;               /* maximum value for scale */
    float       scalefactor;            /* scale factor for axis */
    titletype   scaletitle;             /* title for scale factor */
    float       ticinterval;            /* interval between tic marks */
    short       ticformat;              /* _PG_EXPFORMAT or _PG_DECFORMAT */
    short       ticdecimals;            /* number of decimals places in tic labels */
} axistype; 

ja sam to napravio ovako

class axistype {  
public:                      /* chart axes definition */
    short       grid;                   /* if TRUE draw grid lines */
    short       gridstyle;              /* style number for grid lines */
    titletype   axistitle;              /* axis title */
    COLORREF    axiscolor;              /* palette color for axis */
    short       labeled;                /* if TRUE draw tic marks and titles */
    short       rangetype;              /* _PG_LINEARAXIS or _PG_LOGAXIS */
    float       logbase;                /* base used for log axis */
    short       autoscale;              /* if TRUE calculate remaining values */
    float       scalemin;               /* minimum value for scale */
    float       scalemax;               /* maximum value for scale */
    float       scalefactor;            /* scale factor for axis */
    titletype   scaletitle;             /* title for scale factor */
    float       ticinterval;            /* interval between tic marks */
    short       ticformat;              /* _PG_EXPFORMAT or _PG_DECFORMAT */
    short       ticdecimals;            /* number of decimals places in tic labels */
};

te za pristup koji izgleda ovako

float _Zero( axistype  *axis )
//===============================

/*  Initializes "zline" to the line closest to zero on the graph.
    Modifies the "zvalue", the value closest to zero on the graph. */

{
    if( axis->scalemin > 0 ) {
        return( axis->scalemin );
    } else {
        if( axis->scalemax < 0 ) {
            return( axis->scalemax );
        } else {
            return( 0 );
        }
    }
}

napraviti ovo

float axistype:: _Zero( axistype  *axis )
//===============================

/*  Initializes "zline" to the line closest to zero on the graph.
    Modifies the "zvalue", the value closest to zero on the graph. */

{
    if(scalemin > 0 ) {
        return(scalemin );
    } else {
        if(scalemax < 0 ) {
            return(scalemax );
        } else {
            return( 0 );
        }
    }
}

tu gdje sam marker stavio, jel može ostati tako kako je?

Poruka je uređivana zadnji put pet 17.4.2015 13:30 (Makić).
Moj PC  
0 0 hvala 0
10 godina
neaktivan
offline
Re: Problem s programom C++
Pošaljite link.
13 godina
offline
Programiranje u C++-u - pitanja i odgovori

mi mozete rijesiti ovaj zadatak, hvala

Moj PC  
1 10 hvala 0
E-mail:
Lozinka:
 
vrh stranice