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

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

I sta ako si naklepao a da ne znas sta si u biti uradio, ne moze to tako, nego ispocetka po slikama kako je komadant rekao. {#}

Senaid
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
GamerMaster2041 kaže...
rustweaver kaže...
GamerMaster2041 kaže...
neznam gdje je problem

U čemu radiš? Meni je sve kako treba biti.

 

Dakle napraviš projekt, i sve ove tri datoteke dodaš u projekt.

radim u dev c++

 

 

Dev C++ je povijest.Skini ili code::blocks ili Visual Studio MS-a. Učini to i bit ćeš ugodno iznenađen.Učini to što prije , koliko se sjećam Dev C++ nema niti code completion.Nekako većina počne s njim i to je ok ali nakon mjesec dva probe kloni ga se.On je relikt i kao takav dosta neupotrebljiv u 2012.god. Imaš express ver. VS MS-a , što god , samo bježi od Dev C++ as fast as you can.Nećeš požaliti , ako si online , instaliraj još večeras --->  cijeli proces traje cca. 4 min.

Poruka je uređivana zadnji put pet 22.6.2012 23:57 (nik_02).
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
nik_02 kaže...

Učini to i bit ćeš ugodno iznenađen.

Neće, kladim se da ne bi ni skužio razliku. Ja bih sve početnike tjerao da tipkaju u notepadu i kompajliraju ručno iz komandne linije. Ne mogu shvatiti toliki animozitet na ovom forumu prema jednom faking tekst editoru.

 

Neće ga VS učiniti boljim programerom. Alat ne čini majstora. A šegrt kada postane majstor će ionako sam shvatiti što mu treba.

 

Dobar dio ljudi koji zalaze na ovaj podforum ne zna ni složiti projekt sačinjen od više datoteka kao niti koristiti debugger (koji DevCpp također ima), i što će njima onda CB ili VS? Što oni njima mogu ponuditi što im je tako neophodno?

 

Nemoj me krivo shvatiti, jedan CB je kudikamo napredniji IDE od DevCpp-a, ali ja te pitam što to znači početniku?

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put sub 23.6.2012 0:22 (rustweaver).
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
nik_02 kaže...

Učini to i bit ćeš ugodno iznenađen.

Neće, kladim se da ne bi ni skužio razliku. Ja bih sve početnike tjerao da tipkaju u notepadu i kompajliraju ručno iz komandne linije. Ne mogu shvatiti toliki animozitet na ovom forumu prema jednom faking tekst editoru.

 

Neće ga VS učiniti boljim programerom. Alat ne čini majstora. A šegrt kada postane majstor će ionako sam shvatiti što mu treba.

 

Dobar dio ljudi koji zalaze na ovaj podforum ne zna složiti projekt sačinjen od više datoteka kao niti koristiti debugger (koji DevCpp također ima), i što će njima onda CB ili VS? Što oni njima mogu ponuditi što im je tako neophodno?

Isto to sam ja (pa slicno tome) mislio.

BIlo bi glupo napraviti neki compiler koji bi koristio nas prirodni jezik

npr

 

prikazi rijec na ekranu : hello world

 

 

unistilo bi se znacenje programera,programirati bi mogla svaka budala i programski jezici bi izgubili lepotu.

 

MOARR
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
O cem ti?
Senaid
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
GamerMaster2041 kaže...
BIlo bi glupo napraviti neki compiler koji bi koristio nas prirodni jezik

npr

 

prikazi rijec na ekranu : hello world

 

 

unistilo bi se znacenje programera,programirati bi mogla svaka budala i programski jezici bi izgubili lepotu.

 

Gle, to što si ti napisao bi bilo idealno. Problem je što bi compiler koji bi razumio svakodnevni jezik i to prevodio u komande računalu bio u osnovi umjetna inteligencija, a ne moram ti spominjati da je to još daleko od izvedivog.

 

Programski jezici nisu namjerno zakomplicirani, nego su u više-manje dobrom balansu između onoga što čovjek razumije i onoga što računalo može razumjeti.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...

Mozete pomoci jedan zadatak,da mi kazete kako se rjesava samo....

 

Pozitivne cijele brojeve nazivamo sretnim ako zadovoljavaju sledeci kriterij : Ako broj zamjenimo sa sumom kvadrata njegovig cifara i ponavljajuci taj postupak dobijemo broj 1.Brojevi koji nisu sretni nikada ne zavrse taj proces tj. proces zavrsi u petlji.

Primjer sretnog broja 19: 

1*1+9*9=82

8*8+2*2=68

6*6+8*8=100

1*1+0*0+0*0=1......

 

Vas zadatak je da za zadata dva cijela broja Ai B odredite koliko ima sretnih brojeva u opsegu od A do B,ukljucujuci i brojeve A i B.Mozete pretpostaviti da ako za neki zadati broj N<=1.000.000 ni nakon 8 izvrsenih iteracija ne dobijemo broj 1,da je taj broj N nesretan broj.

 

Primjer 1 :            

Ulaz:

1

20

Izlaz:

5

 

Sretni brojevi izmedju 1 i 20 su : 1,7,10,13,19...

 

Primjer 2 :

Ulaz:

50

100

Izlaz:

 

Sretni brojevi izmedju 50 i 100 su : 68,70,79,82,86,91,94,97,100..

 

 

 

 

#include <iostream>
int transform(int n)
{
  int sum=0;
  while (n>0)
  {
        sum+=(n%10)*(n%10);
        n/=10;
  }
  return sum;
}
bool isHappy(int n)
{
  for(int i=0;i<8;++i)
  {
        n=transform(n);
        if (n==1)
                return true;
  }
  return false;
}
int main()
{
   int a=50;
   int b=100;
   int nhappy=0;
   for(int i=a; i<=b;++i)
     nhappy+=isHappy(i);
   std::cout << nhappy;
 
 
 
}

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
GamerMaster2041 kaže...
BIlo bi glupo napraviti neki compiler koji bi koristio nas prirodni jezik

npr

 

prikazi rijec na ekranu : hello world

 

 

unistilo bi se znacenje programera,programirati bi mogla svaka budala i programski jezici bi izgubili lepotu.

 

Gle, to što si ti napisao bi bilo idealno. Problem je što bi compiler koji bi razumio svakodnevni jezik i to prevodio u komande računalu bio u osnovi umjetna inteligencija, a ne moram ti spominjati da je to još daleko od izvedivog.

 

Programski jezici nisu namjerno zakomplicirani, nego su u više-manje dobrom balansu između onoga što čovjek razumije i onoga što računalo može razumjeti.

da to je vec vjestacka inteligencija.

a i dobro je da su programski jezici komplikovani.

Nije neki osjecaj kad ti kazes racunaru "hocu super igricu" i on ti sam napravi super video igru.

Mnogo je lepse kad ti sam potrosis svoje vreme da bi nesto dostigao.

Znam kad sam napravio kalkulator super je bio osjecaj.

nije nesto kad ti prebacis sa interneta i odma koristis.

program resava problem koji ti imas,zadovoljan si.Naravno kad bi ti sam napravio program to je mnogo bolji dozivljaj.

 

nego da se vratim na on topic

 

sta je to tacno bool?

MOARR
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
GamerMaster2041 kaže...
sta je to tacno bool?

bool je skraćeno od boolean, radi se o tipu podatka koji može imati samo dvije vrijednosti: 1 ili 0, odnosno True ili False

 

wiki ima nešto malo više o tome, pa da ti tu sada ne prosipavam (tuđu) mudrost, uputit ću te tamo.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put sub 23.6.2012 0:32 (rustweaver).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Netocno! Niko namjerno ili "radi osjecaja", nije zakomplicirao programiranje, bas suprotno, radi se na vjestackoj inteligenciji. To sto pricas je bez veze, ako se palis na svoje "izume" uci assambly. :-)
Senaid
15 godina
online
Re: Programiranje u C++-u - pitanja i odgovori
GamerMaster2041 kaže...

da to je vec vjestacka inteligencija.

a i dobro je da su programski jezici komplikovani.

Nije neki osjecaj kad ti kazes racunaru "hocu super igricu" i on ti sam napravi super video igru.

Mnogo je lepse kad ti sam potrosis svoje vreme da bi nesto dostigao.

Znam kad sam napravio kalkulator super je bio osjecaj.

nije nesto kad ti prebacis sa interneta i odma koristis.

program resava problem koji ti imas,zadovoljan si.Naravno kad bi ti sam napravio program to je mnogo bolji dozivljaj.

 

nego da se vratim na on topic

 

sta je to tacno bool?

Nije nitko kreirao programske jezike da bi ti zakomplicirao razvoj, već naprotiv programski jezici se prave na način da olakšaju i pojednostave razvoj što je više moguće. Prirodni jezici su sigurno dobra stvar, ali nisu namijenjeni programiranju niti su prikladni za programiranje. Prije svega,  prekomplicirani su i zato su vrlo teški za prevesti. Za razliku od formalnih jezika, greške u njima su sasvim normalna star i govornik će te vjerojatno razumjeti bez obzira pravio ti gramatičke greške ili ne.

Zatim imas probleme gdje jedna stvar moze znaciti vise znacenja, npr. recenicu: Spasiti ne ubiti. U programiranju je za razliku od govora potrebna odredenost. I najveci problem sto su sami po sebi jednostavno potpuno neprikladni za programiranje. Npr. Je li bolje ovo:

int n = 5;
while(n>=0){
    cout<<n<<endl;
    n--;

ili ovo:

Deklariraj varijablu n kao int, i inicijaliziraj je na vrijednost 5. Napravi while petlju sa uvjetom da je n>=0. U blok te while petlje ispisi vrijednost varijable n i Umanji vrijednost varijable n za jedan.

Odmah je jasno sto je razumljivije, i sto je lakse napisati, cak i kod ovako jednostavnih primjera.

Twitter- @capttawish Linux/GNU live forever.
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Koliko se ja sjećam, tad sam "nasuho" pratio forum, bio je jedan što je programirao na engleskom.

Senaid
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Hitno mi treba pomoc please...............

 

Trebam nacrtati dijagram toka za slijedeći zadatak.

 

Koliko ima 5-cifrenih brojeva kod koji je zbir zadnje 4 cifre jednak prvoj cifri.

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

Koliko se ja sjećam, tad sam "nasuho" pratio forum, bio je jedan što je programirao na engleskom.

lol sjecam ga se i ja

 

pitali ga u kojem programskom jeziku programiras?

on veli

engleskom.

Jel to onaj sto je kao napravio OS i nazvao ga CroOS

A to nije os nego program koji izgleda kao windows.

 

 

BTW zasto mi dev c++ izbacuje umesto razmaka kad koristim \f neki znak?

MOARR
Poruka je uređivana zadnji put uto 26.6.2012 16:39 (GamerMaster2041).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

\f je nova stranica.

Senaid
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
royalhero kaže...

\f je nova stranica.

ups

 

MOARR
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Hitno mi treba pomoc please............... Trebam nacrtati dijagram toka za slijedeći zadatak.

 

Koliko ima 5-cifrenih brojeva kod koji je zbir zadnje 4 cifre jednak prvoj cifri.

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

Hitno mi treba pomoc please............... Trebam nacrtati dijagram toka za slijedeći zadatak.

 

Koliko ima 5-cifrenih brojeva kod koji je zbir zadnje 4 cifre jednak prvoj cifri.

#include <iostream>

using namespace std;

int main()
{
    int a,b,c,d,p,n;
    cin>>n;
    p=(n/10000);
    a=(n%10);
    b=(n%100)/10;
    c=(n%1000)/100;
    d=(n%10000)/1000;
    if (a+b+c+d==p)
    {
        cout<<n << " je petocifren broj ciji je zbir tadnje 4 cifre jednake prvoj."<<endl;
    }
    else
    {
        cout<<n <<" nije petocifren broj ciji je zbir zadnje 4 cifre jednake prvoj"<<endl;
    }
    return 0;
}

 

Eto ti kod za jedan broj,ubacis u petlju od 10000 do 99999 i napises dijagram toka na osnovu uradjenog programa ako ne znas odma..

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

jel mi moze neko riješiti ova 2 zadatka, i to cim prije mi trea:/.zahvaljujem unaprijed;DD

 

1. Učitat brojeve dotle god su pozitivni. Pozvati funkciju koja će provjeriti da li su veći od 100 i djeljivi s 15. Ako jesu, ispisati sve njihove djeljitelje pozivom funkcije. 

2. ispiši 10 brojeva i provjeri jesu li djeljivi s5.

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

Imam jedan algoritam napisan u c-u on se mjenja ovisno o realnom vremenu kako da napisem da unesem neko vrijeme h;m;s i da on pocne brojati i da nakon 5 min refresira algoritam i izracuna ga ponovo sa novim vremenom

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

Zasto kod u visual studio neradi,a u dev c++ radi?

 

 

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

trebam pomoc s ovim programom:

 

#include<allegro.h>

void main()
{
    BITMAP* povrsina=create_bitmap(SCREEN_W, SCREEN_H);
    install_keyboard();
   
    clear_to_color(povrsina, makecol(255,255,255));
    for (int y=0;y<SCREEN_H;y++)
       for (int x=0;x<SCREEN_W;x++) {
          double re=1.0*x/SCREEN_W-0.5;
          double im=1.0*x/SCREEN_H-0.5;

          int n=255;
          while (n>0 && re*re+im*im<4) {
             double rek=re*re-im*im;
             double imk=2*re*im;
             re=rek-0.629;
             im=imk+0.4;
             n--;
             }
          putpixel(povrsina,x,y,makecol(n,n,n));
          }
   
    blit(povrsina, screen, 0,0,0,0,SCREEN_W,SCREEN_H);
    while (!keypressed())
    rest(20);
}
END_OF_MAIN()

prepisao sam ga iz knjige "Naučite programirati uz c++", imam sve alate iz knjige, sve sam napravio kako pise ,ali kad odem na BUILD->BUILD SOLUTION izbaci mi:

 


1>------ Build started: Project: JulijiniSkupovi, Configuration: Debug Win32 ------
1>Compiling...
1>JulijiniSkupovi.cpp
1>Linking...
1>JulijiniSkupovi.obj : error LNK2019: unresolved external symbol __imp__rest referenced in function "void __cdecl _mangled_main(void)" (?_mangled_main@@YAXXZ)
1>JulijiniSkupovi.obj : error LNK2019: unresolved external symbol __imp__keypressed referenced in function "void __cdecl _mangled_main(void)" (?_mangled_main@@YAXXZ)
1>JulijiniSkupovi.obj : error LNK2019: unresolved external symbol __imp__blit referenced in function "void __cdecl _mangled_main(void)" (?_mangled_main@@YAXXZ)
1>JulijiniSkupovi.obj : error LNK2001: unresolved external symbol __imp__screen
1>JulijiniSkupovi.obj : error LNK2019: unresolved external symbol __imp__putpixel referenced in function "void __cdecl _mangled_main(void)" (?_mangled_main@@YAXXZ)
1>JulijiniSkupovi.obj : error LNK2019: unresolved external symbol __imp__clear_to_color referenced in function "void __cdecl _mangled_main(void)" (?_mangled_main@@YAXXZ)
1>JulijiniSkupovi.obj : error LNK2019: unresolved external symbol __imp__makecol referenced in function "void __cdecl _mangled_main(void)" (?_mangled_main@@YAXXZ)
1>JulijiniSkupovi.obj : error LNK2019: unresolved external symbol __imp__install_keyboard referenced in function "void __cdecl _mangled_main(void)" (?_mangled_main@@YAXXZ)
1>JulijiniSkupovi.obj : error LNK2019: unresolved external symbol __imp__create_bitmap referenced in function "void __cdecl _mangled_main(void)" (?_mangled_main@@YAXXZ)
1>JulijiniSkupovi.obj : error LNK2001: unresolved external symbol __imp__gfx_driver
1>JulijiniSkupovi.obj : error LNK2019: unresolved external symbol __imp___WinMain referenced in function _WinMain@16
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>C:\Users\Pall\Desktop\JulijiniSkupovi\Debug\JulijiniSkupovi.exe : fatal error LNK1120: 12 unresolved externals
1>Build log was saved at "file://c:\Users\Pall\Desktop\JulijiniSkupovi\JulijiniSkupovi\Debug\BuildLog.htm"
1>JulijiniSkupovi - 13 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

 

zapravo javlja error u svakom programu u kojem sam koristio bilo koju allegro funkciju

ŠTA DA RADIM????

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

trebam pomoc s ovim programom:


zapravo javlja error u svakom programu u kojem sam koristio bilo koju allegro funkciju

ŠTA DA RADIM????

Linkaš li sa allegro bibliotekom? Vidim header si dodao...

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Unresolved external znači da tijela funkcija ne mogu biti pronađena. Ili su u cpp datotekama ili trebaš dodati alegro LIB u taj svoj projekt.

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

Na Internetu ima jako puno C++ tutoriala od kojih su neki veoma korisni i razumljivi dok drugi nisu. No problem je sto se u tim tutorialima, barem onima koje sam ja nasao objasnjavaju samo osnove, a za malo slozenije kodove nema primjera. Mislim da je vrijeme da kupim neku knjigu koja ima puno primjera i u kojoj se detaljnije obraduje gradivo (under the hood, kako bi se reklo). Sto preporucate? Vidim da ljudi cesto preporucuju Demistificirani C++, pa mi je to trenutno prvi izbor.

U meduvremenu, trebala bi mi pomoc oko nekoliko stvari. Ako netko moze odvojiti malo vremena i pomoci buducem kolegi, puno bi mi pomoglo :)
Zanima me kako bih vector koji sadrzi objekte klase (u ovom slucaju integer i string) sortirao na temelju jednog od tih objekata? Npr. ako unesem
8 --- osam
1 --- jedan
3 --- tri
da mogu sortirati ili po int objektima pa da ide
1 --- jedan
3 --- tri

8 --- osam
ili po stringovima pa da ide abecedno. Je li to uopce moguce ili treba napraviti dva vektora, jedan sa integerima i jedan sa stringovima? Ako da, kako bi to sortiranje napravio? Imam ovo zasad, sortiranje po integerima(naravno, ne radi):

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

bool ascending(int x, int y);
bool descending(int x, int y);
// void output ();

class data()
{
    private:
        int number;
        string word;
   
    public:
        data(int number, string word)
        {
           this->number = number;
           this->word = word;
        }
       
        void get_data()
        {
            cout << this -> number << " --- " << this->word << endl;    
        } 
};

int main()
{
    vector<data> myVector;
    int value;
    string text;
    while(1)
    {
        cout << "Enter a number or -1 to end:" << endl;
        cin >> value;
        if(value == -1)
            break;
        else
            myVector.push_back(value); 
       
        cout << "Enter a word:" << endl;
        cin >> text;
        myVector.push_back(text);    
    }
   
    system("CLS");
   
    cout << "\n\t#--------Sort in--------#" << endl;
    cout <<   "\t|(A)scending order      |" << endl;
    cout <<   "\t|(D)escending order     |" << endl;
    cout <<   "\t|(E)xit                 |" << endl;
    cout <<   "\t#-----------------------#" << endl;
    char input;
    cin >> input;
    if(input =='a' || input=='A')
    {
        sort(myVector.begin(), myVector.end(), ascending);
        cout << "After sorting: " << endl;
        output(myVector);      
    }
    else if(input =='d' || input=='D')
    {
        sort(myVector.begin(), myVector.end(), descending);   
        cout << "After sorting: " << endl;
        output(myVector);        
    }
    else if(input =='e' || input=='E')
        exit(1);
   
    system("pause");
    return 0;   
}

bool ascending(int x, int y)
{
    return x < y;     
}

bool descending(int x, int y)
{
    return x > y;     
}

void output(vector<data> myVector)
{
    for(vector<data>::iterator it=myVector.begin(); it != myVector.end(); it++)
    {
        cout << *it << ", ";                         
    }
    cout << endl;   
}

I ovo me zanima:

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

class data
{
    private:
        int number;
        string word;
   
    public:
        data() {cout << "Building a data." << endl;}
        ~data() {cout << "Destroying a data." << endl;}   
       
        int get_number() {return number;}
        void set_number(int x) {number = x;}
       
        string get_word() {return word;}
        void set_word(string x) {word = x;}
};

int main()
{
    const int size = 2;
    data array[size];
       
    for(int iii=0; iii<size; iii++)
    {
        cout << "Enter the " << iii+1 << ". number: " << endl;
        int x;
        cin >> x;
        array[iii].set_number(x);
       
        cout << "Enter the " << iii+1 << ". word: " << endl;
        string y;
        cin >> y;
        array[iii].set_word(y);    
    }
   
    int best;
    for(int iii=0; iii<size; iii++)
    {
        best = iii;
        for(int jjj=0; jjj<size; jjj++)
        {
            if(array[jjj].get_number() < array[iii].get_number())  
            {
                best = jjj;                          
            }
            swap(array[best].get_number(), array[iii].get_number());
            swap(array[best].get_word(), array[iii].get_word());
        }       
    }
   
    system("pause");
    return 0;   
}

Zanima me gdje je greska i da li imam totalno krivu ideju kako bi to trebalo raditi. I znam da bih trebao izbjegavati te x/y nazive varijabli ali trenutno nemam inspiracije za primjerenije nazive.



Hvala.

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

Moguće je sve napraviti , tu ne moraš imati nikad dvojbu. Da karikiram , ako je ID soft. prije 20-tak godina sklepao DOOM na alatima i hardveru danas osrednjeg smartphonea onda je ovakva trivijala moguća instantno. Roveri na Marsu prije par godina su gonjeni između ostalog C++ - om. Znači , možeš što ti god padne na pamet. Malo vidi čiste osnove programiranja (npr. ako imaš funkciju ascending koja sorta klasu data onda moraš imati argumente data-e u toj funkciji pa preko objekta te klase čupaš ono što ti treba , u ovom slučaju integere , ako koristiš sort moraš dodati header <algorithm> u kojem ti je on definiran , ako trebaš private podatak klase stavi neku get metodu za doći do njega iz klase itd.....)

Nešto sam ti dolje prokomentirao prvi zadatak koji si postao pa vidi sam.

 

 

#include <iostream>
#include <vector>
#include <cstdlib> // za system
#include <algorithm> // za sort
using namespace std;

class data // nema zagrada
{
    private:
        int number;
        string word;

    public:
        data(int number, string word)
        {
           this->number = number;
           this->word = word;
        }

        void get_data()
        {
            cout << this -> number << " --- " << this->word << endl;
        }

        // dodaj metodu za return private num.
        // treba ti u sortu
        int getNum() {return number;}
};

// u komparacijske funkcije ide
// klasa data pa iz nje vuci podatak koji
// treba , u ovom slucaju integer
bool ascending(data x, data y);
bool descending(data x, data y);

void output (vector<data> myVector);
// u output ide vector data-e

int main()
{
    vector<data> myVector;
    int value;
    string text;
    while(1)
    {
        cout << "Enter a number or -1 to end:" << endl;
        cin >> value;
        if(value == -1)
            break;
        else
         // myVector.push_back(value);

        cout << "Enter a word:" << endl;
        cin >> text;

        data temp(value,text);

        myVector.push_back(temp);
    }

    system("CLS");

    cout << "\n\t#--------Sort in--------#" << endl;
    cout <<   "\t|(A)scending order      |" << endl;
    cout <<   "\t|(D)escending order     |" << endl;
    cout <<   "\t|(E)xit                 |" << endl;
    cout <<   "\t#-----------------------#" << endl;
    char input;
    cin >> input;
    if(input =='a' || input=='A')
    {
        sort(myVector.begin(), myVector.end(), ascending);
        cout << "After sorting: " << endl;
        output(myVector);
    }
    else if(input =='d' || input=='D')
    {
        sort(myVector.begin(), myVector.end(), descending);
        cout << "After sorting: " << endl;
        output(myVector);
    }
    else if(input =='e' || input=='E')
        exit(1);

    system("pause");

    return 0;

}

// u komparacijske funkcije predajes klasu
// data i iz nje vadis integer
// vidi par minuta da ti sjedne zasto

bool ascending(data x, data y)
{
    return x.getNum() < y.getNum();
}

bool descending(data x, data y)
{
    return x.getNum() > y.getNum();
}

void output(vector<data> myVector)
{
    for(vector<data>::iterator it=myVector.begin(); it != myVector.end(); it++)
    {
        // iteratorom pristupi class metodi s ->
        // imas tamo vec cout pa da ne duljim ...
        it->get_data();
    }
    cout << endl;
}

Poruka je uređivana zadnji put čet 28.6.2012 22:39 (nik_02).
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ako si u ovom drugom zadatku  mislio sortirati array objekata klase temeljem veličine podatkovnog člana klase member, onda koristi bubble sort metodu sortiranja (ovo je jedna od varijacija), a greška ti je bila i u swap metodi, zamjenjuješ objekte, odnosno članove array-a, a ne podatkovne članove klase, tj. objekta.

 

 

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

class data
{
    private:
        int number;
        string word;
  
    public:
        data() {cout << "Building a data." << endl;}
        ~data() {cout << "Destroying a data." << endl;}  
      
        int get_number() {return number;}
        void set_number(int x) {number = x;}
      
        string get_word() {return word;}
        void set_word(string x) {word = x;}
};

int main()
{
    const int size = 5;
    data array[size];
      
    for(int i=0; i<size; i++)
    {
        cout << "Enter the " << i+1 << ". number: " << endl;
        int x;
        cin >> x;
        array[i].set_number(x);
      
        cout << "Enter the " << i+1 << ". word: " << endl;
        string y;
        cin >> y;
        array[i].set_word(y);   
    }
  
    for(int i=0; i<size; i++)
    {
        for(int j=0; j<i; j++)
        {
            if(array[j].get_number() > array[i].get_number()) 
            {
                swap(array[i], array[j]);                         
            }
        }      
    }
    for(int i=0; i<size; i++)
    {
       cout<< array[i].get_number() << " " << array[i].get_word();
       cout<< endl;
    }
  
    system("pause");
    return 0;  
}

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

http://bhoi.net/Zadaci/BHOI%202012/spirala.pdf

Moze pomoc oko zadatka ovog?

Ne znam kako da upisem ovako matricu i po tome da onda trazi koji je to broj?

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
 
0 0 hvala 0
15 godina
online
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...

http://bhoi.net/Zadaci/BHOI%202012/spirala.pdf

Moze pomoc oko zadatka ovog?

Ne znam kako da upisem ovako matricu i po tome da onda trazi koji je to broj?

Po meni je najbolji način simulirati kretanje kroz matricu. Jednostavno ideš po poljima i upisuješ vrijednost koja dolazi.

Twitter- @capttawish Linux/GNU live forever.
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Pogledaj malo po temi, već je negdje Captain objašnjavao nekome.

Senaid
E-mail:
Lozinka:
 
vrh stranice