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

poruka: 7.285
|
čitano: 1.713.479
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Ok to cu poslje probat,sad sam probao ovaj: https://www.infokup.hr/Content/Downloads/2012/Algoritmi/Zadaci-Skolsko-2012-Algoritmi-Srednja-I.pdf, Kockice i evo kod:

 

#include <iostream>

using namespace std;

int main()
{
    int kocka[6];
    int kockica = 1;
    cin >> kocka[0] >> kocka[1] >> kocka[2] >> kocka[3] >> kocka[4] >> kocka [5];
   for(int i = 0; i <= 6; i++)
    {
        if(kocka[i] == kocka[0] || kocka[1] || kocka[2] || kocka[3] || kocka[4] || kocka[5])
        {
            kockica++;
        }
    }
    cout << kockica << endl;
    return 0;
}


I neradi mi :(

Zasto u for petlji ides do manje-jednako 6, ako imas polje od 6 integera? Mislim, nisam procitao zadatak, ne mora to biti greska (iako jest greska), ali mi je upalo u oko.

C provides a programmer with more than enough rope to hang himself. C++ provides a firing squad, blindfold and last cigarette.
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

#include <iostream>

using namespace std;

int main()
{
    int kocka[6];
    int kockica = 1;
    cin >> kocka[0] >> kocka[1] >> kocka[2] >> kocka[3] >> kocka[4] >> kocka [5];
    for(int i = 0; i <= 6; i++)
    {
       if(kocka[i] == kocka[0] || kocka[1] || kocka[2] || kocka[3] || kocka[4] || kocka[5])
        {
            kockica++;
        }
    }
    cout << kockica << endl;
    return 0;
}

Greška ti je ova kompletna usporedba, razmisli malo što ti tu zapravo radiš, a što misliš da radiš.

 

Druga stvar, zašto polje od 6 članova, kada se u zadatku traži samo 5 brojeva?

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

Greška ti je ova kompletna usporedba, razmisli malo što ti tu zapravo radiš, a što misliš da radiš.

 

Druga stvar, zašto polje od 6 članova, kada se u zadatku traži samo 5 brojeva?

A lol, ovo nisam ni skuzio...

C provides a programmer with more than enough rope to hang himself. C++ provides a firing squad, blindfold and last cigarette.
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

        if(kocka[i] == kocka[0] || kocka[1] || kocka[2] || kocka[3] || kocka[4] || kocka[5])

A nema tu skraćivanja! Za svaki element sa indeksom i moraš poredit sa određenim indeksom.

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

Kako mislis skracivanje?

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Kako mislis skracivanje?

if(kocka[i] == kocka[0] || kocka[i] == kocka[1] || kocka[i] == kocka[2] || kocka[i] == kocka[3] || kocka[i] == kocka[4] || kocka[i] == kocka[5])

C provides a programmer with more than enough rope to hang himself. C++ provides a firing squad, blindfold and last cigarette.
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ista stvar.

 

Uvijek izbaci 7.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put ned 22.7.2012 13:36 (FireMan97).
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Pa nije ti samo to greška. Gledaj malo. Pa javi ako ništa ne nađeš.

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

#include <iostream>

using namespace std;

int main()
{
    int kocka[6];
    int kockica = 1;
    cin >> kocka[0] >> kocka[1] >> kocka[2] >> kocka[3] >> kocka[4] >> kocka [5];
    for(int i = 0; i < 6; i++)
    {
        //if(kocka[i] == kocka[0] || kocka[1] || kocka[2] || kocka[3] || kocka[4] || kocka[5])
        if(kocka[i] == kocka[0] || kocka[i] == kocka[1] || kocka[i] == kocka[2] || kocka[i] == kocka[3] || kocka[i] == kocka[4] || kocka[i] == kocka[5])
        {
            kockica++;
        }
    }
    cout << kockica << endl;
    return 0;
}
Nisam nista naso,jedino ako sam nesto fulao sa petljom.

 

Stvarno bih trebao  kupiti neku literaturu u vezi algoritama.

 

Izgleda kao da petlja uopce ne reagira na uvijet.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put ned 22.7.2012 13:41 (FireMan97).
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

A što ako je kocka[2] jednaka kocka[0], kako ćeš to provjerit.

Ne znam traži li se u zadatku, ali da vidimo kako bi to rješio? Tu samo provjeravaš da li su kocke na istim indeksima jednake.

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

Pa pogledaj petlju i uvijet ispod,i ce doci do 2 i provjeriti sa broj[0].

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put ned 22.7.2012 14:19 (FireMan97).
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Dobro kad imaš 6 članova. Ajde probaj to riješiti sa dvije petlje.

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

#include <iostream>

using namespace std;

int main()
{
    int kocka[6];
    int kockica = 1;
    cin >> kocka[0] >> kocka[1] >> kocka[2] >> kocka[3] >> kocka[4] >> kocka [5];
    for(int i = 0; i < 6; i++)
    {
       for(int f = 0; f < 6; f++)
       {
           if(kocka[i] == kocka[f])
           {
               kockica++;
           }
       }
       
    }
    cout << kockica << endl;
    return 0;
}

 

 

Ovako mozda?

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Koliko vidim, dobro je. Samo f zamjeni sa j, nije greška nego eto tako seobično koristi. i, j i k.

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

#include <iostream>

using namespace std;

int main()
{
    int kocka[6];
    int kockica = 1;
    cin >> kocka[0] >> kocka[1] >> kocka[2] >> kocka[3] >> kocka[4] >> kocka [5];
    for(int i = 0; i < 6; i++)
    {
       for(int f = 0; f < 6; f++)
       {
           if(kocka[i] == kocka[f])
           {
               kockica++;
           }
       }
       
    }
    cout << kockica << endl;
    return 0;
}

 

 

Ovako mozda?

Cek koja je svrha tvoje druge petlje tu sad?

Zasto ti je brojac kockica postavljen na 1 a ne na 0?

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

Ali opet neradi,ispise 7.

 

 

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Zato jer ako nema nitijedan isti broj treba pisat 1.

 

https://www.infokup.hr/Content/Downloads/2012/Algoritmi/Zadaci-Skolsko-2012-Algoritmi-Srednja-I.pdf

 

Pogledaj primjere.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put ned 22.7.2012 14:27 (FireMan97).
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...

Cek koja je svrha tvoje druge petlje tu sad?

Ja sam mu rekao da vidim zna li to uraditi.

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

Dali ima neka dobra knjiga o algoritamskim rjesenjima da mogu platit  pouzecem?

 

Jos mi je najgore sto mi u skoli nismo vidjeli ni p od programiranja a kamo li algoritama koje vidim da druge skole masivno obradjuju.

 

Sve sto smo ucili je bilo u logu:LT,RT,FD,BK,PU i PD :D

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put ned 22.7.2012 14:31 (FireMan97).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Dali ima neka dobra knjiga o algoritamskim rjesenjima da mogu platit  pouzecem?

 

Jos mi je najgore sto mi u skoli nismo vidjeli ni p od programiranja a kamo li algoritama koje vidim da druge skole masivno obradjuju.

 

Sve sto smo ucili je bilo u logu:LT,RT,FD,BK,PU i PD :D

ja nisam to ucio u sk, vec u basicu PRINT, INPUT, IF-THAN-ELSE i malo grafike

sto se tice zadatka
u unutarnjoj petlji stavi
for (f=i+1, f<5, f++)

i zasto ne ucitavas preko for petlje? 

edit: moja greška 

Poruka je uređivana zadnji put ned 22.7.2012 14:38 (srky.du).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Jos mi je najgore sto mi u skoli nismo vidjeli ni p od programiranja a kamo li algoritama koje vidim da druge skole masivno obradjuju.

Neces u skoli nauciti tu crticu od p. Bez grijanja stolice doma, nema nista!

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

Al nemoj skakat sa skolskog na drzavno ...

Radi zadatke od laksih ka tezim..

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

Ne ovo sam skocio sa drzavnog na skolsko :D

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Ali opet neradi,ispise 7.

 

 

 

 

Koliko mi se cini iz programa on radi dobro, posto ti u petljama dok provjeravaš, svaki put provjeriš isto polje da li je jednako, što će uvjek biti, pa će ti se izvršiti i kod u if-u. Probaj da preskocis provjeravanje istog polja u nizu, tako da postavis jos jedan uvjet prije if-a...

 

for(int i = 0; i < 6; i++)

   {

    for(int f = 0; f < 6; f++)

    {

   if(i != f) 

       if(kocka[i] == kocka[f])

       {

         kockica++;

       }

    }  

   }

 

 

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

Ali opet neradi,ispise 7.

 

 

 

 

Koliko mi se cini iz programa on radi dobro, posto ti u petljama dok provjeravaš, svaki put provjeriš isto polje da li je jednako, što će uvjek biti, pa će ti se izvršiti i kod u if-u. Probaj da preskocis provjeravanje istog polja u nizu, tako da postavis jos jedan uvjet prije if-a...

 

for(int i = 0; i < 6; i++)

   {

    for(int f = 0; f < 6; f++)

    {

   if(i != f) 

       if(kocka[i] == kocka[f])

       {

         kockica++;

       }

    }  

   }

 

 

probaj sa

INPUT: 1 1 2 2 3

ili

INPUT 1 1 1 1 1

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

Kad upisem 1 1 1 1 1 pise 21 a kad upisem 1 1 2 2 3 pise 5.

 

#include <iostream>

using namespace std;

int main()
{
    int kocka[5];
    int kockica = 1;
    cin >> kocka[0] >> kocka[1] >> kocka[2] >> kocka[3] >> kocka[4];
    for(int i = 0; i < 5; i++)
    {
       for(int f = 0; f < 5; f++)
       {
           if(i != f)
           if(kocka[i] == kocka[f])
           {
               kockica++;
           }
       }

    }
    cout << kockica << endl;
    return 0;
}

 

 

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put ned 22.7.2012 16:03 (FireMan97).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Kad upisem 1 1 1 1 1 pise 21 a kad upisem 1 1 2 2 3 pise 5.

Pa kad ne resetiraš brojač jednakih kockica između iteracija. Algoritam bi trebao ići: uzmeš prvi broj, pogledaš koliko ima kockica sa tim brojem, zabilježiš to, uzmeš drugi broj, pogledaš koliko ima kockica sa tim brojem, provjeriš je li trenutni broj istih kockica veći od prethodnog broja istih kockica, ako jest zabilježiš to, i tako za sve brojeve...

 

Ovako nekako:

 

#include <iostream>

using namespace std;

int main()
{
    int kocka[5];
    int kockica = 0;
    int broj_jednakih = 0;

    cin >> kocka[0] >> kocka[1] >> kocka[2] >> kocka[3] >> kocka[4];

    for (int i = 0; i < 5; i++)
    {
        broj_jednakih = 0;
        for (int n = 0; n < 5; n++)
        {
            if (kocka[i] == kocka[n])
                broj_jednakih++;
        }

        if (kockica < broj_jednakih)
            kockica = broj_jednakih;
    }

    cout << kockica << endl;
    return 0;
}

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put ned 22.7.2012 16:38 (rustweaver).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Za sta sluzi ova linija?

 

 

if (kockica < broj_jednakih)

kockica = broj_jednakih;

 

 

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

To su dvije linije. {#}

 

Provjerava da li je broj jednakih sa i-tom kockicom veći od prijašnjega broja, tj. sa i-1 kockicom. Ako jeste postavlja taj broj jednakih na varijablu kockica.

 

Poruka je uređivana zadnji put ned 22.7.2012 19:07 (royalhero).
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Za sta sluzi ova linija?

 

 

if (kockica < broj_jednakih)

kockica = broj_jednakih;

 

 

Za provjeru je li pronađen broj kockica u trenutnoj iteraciji veći od do tada najvećeg pronađenog broja istih kockica. Ako jest, tada se varijabla "kockica" postavlja na novu, veću, vrijednost.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put ned 22.7.2012 19:04 (rustweaver).
E-mail:
Lozinka:
 
vrh stranice