C++ osnove i ostale tricarije pitanja i odgovori

Klixova večernja škola - tutoriali, savjeti, praktična rješenja
User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#1 C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 23/07/2018 13:14

Jedan forumas mi je predlozio da napravim temu koja ce sluziti da se postavljaju pitanja bez da se originalna tema popunjava, a i da je laksi proces citanja i kretanja kroz temu, jelte. Evo ovdje pitajte a i postavljajte svoje kodove pa cemo skupa korak po korak rjesavati probleme :D .

U slucaju da vam nesto nije jasno u vezi koda ili ste uocili neku gresku napisite u formatu koja lekcija (predavanje) pa da se olaksa uocavanje a bogami i ispravljanje greske. :thumbup:

Za kucanje i testiranje koda preporucujem http://cpp.sh/ a za postavljanje koda (ocekujem lijep stil pisanja) nakon sto ste kopirali kod sa cpp.sh i ovdje pejstirali koristite opciju Code koja se nalazi iznad prozora gdje kucate (nakon B, i, u i quote).


User avatar
Black swan
Posts: 54059
Joined: 17/03/2004 09:36

#2 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by Black swan » 23/07/2018 13:33

ja mislio ti bauštelac

User avatar
ExNihilo
Nindža revizor
Posts: 13131
Joined: 23/01/2008 07:05
Location: In the sheltering shade of the forest

#3 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by ExNihilo » 23/07/2018 13:34

I mene je triconja pozitivno iznenadio. :lol:

User avatar
Black swan
Posts: 54059
Joined: 17/03/2004 09:36

#4 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by Black swan » 23/07/2018 13:35

izgleda samo ga ja pušim ovdje

User avatar
ExNihilo
Nindža revizor
Posts: 13131
Joined: 23/01/2008 07:05
Location: In the sheltering shade of the forest

#5 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by ExNihilo » 23/07/2018 13:36

Black swan wrote:izgleda samo ga ja pušim ovdje
Šuti, dobio si neki dan povišicu.

User avatar
Nastasia
Posts: 3424
Joined: 12/01/2018 13:44

#6 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by Nastasia » 23/07/2018 13:36

triconja wrote:Jedan forumas mi je predlozio da napravim temu koja ce sluziti da se postavljaju pitanja bez da se originalna tema popunjava, a i da je laksi proces citanja i kretanja kroz temu, jelte. Evo ovdje pitajte a i postavljajte svoje kodove pa cemo skupa korak po korak rjesavati probleme :D .

U slucaju da vam nesto nije jasno u vezi koda ili ste uocili neku gresku napisite u formatu koja lekcija (predavanje) pa da se olaksa uocavanje a bogami i ispravljanje greske. :thumbup:

Za kucanje i testiranje koda preporucujem http://cpp.sh/ a za postavljanje koda (ocekujem lijep stil pisanja) nakon sto ste kopirali kod sa cpp.sh i ovdje pejstirali koristite opciju Code koja se nalazi iznad prozora gdje kucate (nakon B, i, u i quote).
Gdje si bio prije nego što sam položila programiranje :oops:

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#7 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 23/07/2018 13:49

Mecite kodove, a kasnije moremo u kosidbu i na saljevanje ploce :D :lol:

Melo15
Posts: 897
Joined: 13/08/2011 21:36

#8 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by Melo15 » 23/07/2018 16:44

Pitanje jedno, je li u ovom novom "pravilniku" za C++ se ne moze ukljuciti namespace std?

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#9 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 23/07/2018 18:16

Melo15 wrote:Pitanje jedno, je li u ovom novom "pravilniku" za C++ se ne moze ukljuciti namespace std?
Moze se koristiti, ali to bas i nije po standardu. std:: se koristi da se oznaci standardna funkcija koja se izvodi iz biblioteke, vremenom ide ko halva kucanje std::nesto :thumbup:

Edit: evo jedan jednostavan primjer

Code: Select all

#include <iostream>

using namespace std;

void cout(){
    std::cout << "nesto b";
}

int main()
{
  
  cout << "nesto a";
  return 0;
}
Sta ce program ispisati? :D

Melo15
Posts: 897
Joined: 13/08/2011 21:36

#10 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by Melo15 » 23/07/2018 20:00

Nesto a ?

User avatar
mk ultra
Posts: 9118
Joined: 31/12/2012 14:05
Location: Rodzakland

#11 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by mk ultra » 23/07/2018 20:16

trebalo bi gresku da izbaci, ne mislim da bi ti i kompajliralo

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#12 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 23/07/2018 20:36

Melo15 wrote:Nesto a ?
Evo dobar odgovor
mk ultra wrote:trebalo bi gresku da izbaci, ne mislim da bi ti i kompajliralo
:thumbup:

Kompajler ne zna sta ima veci prioritet pa se i ne kompajlira :D

Melo15
Posts: 897
Joined: 13/08/2011 21:36

#13 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by Melo15 » 23/07/2018 20:47

Zato ne treba ovo ni mijesati :mrgreen: Na faxu dok smo radili to prije par godina bila su stara pravila pa smo imali uvijek ukljucen namespace, kako su uveli C++ jel 11 il koji je najnoviji set, nisam linije koda napisao u C++ :skoljka:

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#14 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 23/07/2018 20:49

Melo15 wrote:Zato ne treba ovo ni mijesati :mrgreen: Na faxu dok smo radili to prije par godina bila su stara pravila pa smo imali uvijek ukljucen namespace, kako su uveli C++ jel 11 il koji je najnoviji set, nisam linije koda napisao u C++ :skoljka:
Image
:lol: :lol: :lol:

User avatar
red evil
Posts: 1838
Joined: 30/07/2012 14:08

#15 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by red evil » 01/08/2018 19:46

Nekad davno kad sam to učio nije bilo to std:: ni namespace, ustvari možda i jest ali se ne sječam sad. Samo je cin i cout. :lol:

triconja šta još znaš osim c++? :D

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#16 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 01/08/2018 19:55

red evil wrote:Nekad davno kad sam to učio nije bilo to std:: ni namespace, ustvari možda i jest ali se ne sječam sad. Samo je cin i cout. :lol:

triconja šta još znaš osim c++? :D
Znam malo c ali ga ne koristim jer je jednostavniji c++, u zadnje vrijeme malo cackam nesto oko modova za igrice, malo java python i tako to ali tu sam skroz tanak, reklo bi se da ucim osnove toga. Isto tako nesto pokusavam u qt i to je to. :D

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#17 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 02/08/2018 13:20

Rjesenje zadatka iz lekcija 0.2

Code: Select all

#include <iostream>

int main()
{
    int broj;
    std::cout << "Unesite duzinu stranice: ";
    for(;;){
        std::cin >> broj;
        if(broj > 0) 
            break;
        else
            std::cout << "Stranica mora biti pozitivna" << std::endl;
            std::cout << "Unesite duzinu stranice: ";
    }
    for(int i = 0; i < broj; i++){
        if(broj == 5)
            for(int j = 0; j < broj; j++){
                if(j == 0 || j == i || i == broj - 1)
                    std::cout << "*";
                else std::cout << " ";
            }
        else
            for(int j = 0; j < broj; j++){
                if(i == 0 || j == 0 || j == broj - 1 || i == broj - 1)
                    std::cout << "*";
                else
                    std::cout << " ";
            }
        std::cout << std::endl;
    }
    return 0;
}
Last edited by triconja on 02/08/2018 14:24, edited 1 time in total.

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#18 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 02/08/2018 13:37

Rjesenje zadatka iz lekcija 0.3

Code: Select all

#include <iostream>

int Kvadrat(int n){
    std::cout << std::endl << "Kvadrat stranice duzine " << n << std::endl << std::endl;
    int broj(0);
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
                if(i == 0 || j == 0 || j == n - 1 || i == n - 1){
                    std::cout << "*";
                    broj++;
                }
                else
                    std::cout << " ";
        }
        std::cout << std::endl;
    }
    return broj;
}

int Trokut(int n){
    std::cout << std::endl << "Trokut stranice duzine " << n << std::endl << std::endl;
    int broj(0);
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
                 if(j == 0 || j == i || i == n - 1){
                    std::cout << "*";
                    broj++;
                }
                else
                    std::cout << " ";
        }
        std::cout << std::endl;
    }
    return broj;
}

int SlovoN(int n){
    std::cout << std::endl << "Slovo N" << std::endl << std::endl;
    int broj(0);
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
                 if(j == 0 || j == i || j == n - 1){
                    std::cout << "*";
                    broj++;
                }
                else
                    std::cout << " ";
        }
        std::cout << std::endl;
    }
    return broj;
}

int VracaUkupanBrojKoristenihZnakova(int n){
    int broj(0);
    broj += Trokut(n) + Kvadrat(n) + SlovoN(n);
    return broj;
}

int main()
{
    int broj;
    std::cout << "Unesite duzinu stranice: ";
    for(;;){
        std::cin >> broj;
        if(broj > 0) 
            break;
        else
            std::cout << "Stranica mora biti pozitivna" << std::endl;
            std::cout << "Unesite duzinu stranice: ";
    }
    broj = VracaUkupanBrojKoristenihZnakova(broj);
    std::cout << std::endl << "Ukupan broj koristenih znakova za crtanje je: " << broj;
    return 0;
}

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#19 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 02/08/2018 14:22

A evo ga i zadnji zadatak, tj. onaj sa lekcija 0.4

Code: Select all

#include <iostream>
#include <string>

void SlovoV(int n){
    std::cout << std::endl << "Slovo V na osnovu unesenog broja " << n << " izgleda ovako" << std::endl;
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            if(j == i / 2 || j == n - 1 - i / 2) 
                std::cout << "*";
            else
                std::cout << " ";
        }
    std::cout << std::endl;
    }
}

int main()
{
    int niz[10];
    std::cout << "Unesite elemente niza ";
    for(int i = 0; i < sizeof(niz) / 4; i++)
        std::cin >> niz[i];
    //testiranje niza da li sadrzi brojeve pogodne za zadatak
    bool logicki(false);
    for(auto element : niz)
        if(element > 0) 
            logicki = true;
    if(logicki == false){
        std::cout << "U nizu nema pozitivnih brojeva razlicitih od nule!";
        return 0;
    }
    //kretanje po nizu
    int* pokazivac(niz);
    std::string komanda;
    std::cout << "Za kretanje po nizu koristiti komande naprijed i nazad a za ispis slova V koje ce biti nacrtano od znakova koristiti stop";
    for(;;){
        std::cout << std::endl << "Nalazite se na " << pokazivac - niz + 1 << " mjestu, unesite komandu za kretanje" << std::endl;
        std::cin >> komanda;
        //if(strcmp(komanda, "naprijed") == 0 || strcmp(komanda, "nazad") == 0 || strcmp(komanda, "stop") == 0){ 
        if(komanda == "naprijed")
            pokazivac++;
        if(komanda == "nazad")
            pokazivac--;
        if(pokazivac < niz){
            std::cout << std::endl << "Ilegalna pozicija, vracam se nazad na legalnu!" << std::endl;
            pokazivac++;
        }
        if(pokazivac == &niz[10]){
            std::cout << std::endl << "Ilegalna pozicija, vracam se nazad na legalnu!" << std::endl;
            pokazivac--;
        }
        if(komanda == "stop"){
            if(*pokazivac <= 0)
                std::cout << "Ilegalan broj, vracam se nazad u petlju. (Broj mora biti pozitivan i veci od nule)";
            else{
                SlovoV(*pokazivac);
                break;
            }
        }
    }
    return 0;
}

User avatar
djkurt
Posts: 816
Joined: 23/08/2007 15:26

#20 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by djkurt » 02/08/2018 14:30

Black swan wrote:izgleda samo ga ja pušim ovdje
Da i u tebe nije ko u Muje kad je bio na orgijama, pa upola akcije pali svjetlo i kaže, stante ba ljudi, de da se malo oganizujemo ja ovdje samo pušim. :D

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#21 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 07/08/2018 23:07

Rjesenje prvog zadatka iz lekcija 1

Code: Select all

#include <iostream>
#include <vector>

std::vector<int> Fibonaci(int n){
    int suma(0);
    std::vector<int> vektor;
    for(int i = 0; i < n; i++){
        if(i == 0){
            vektor.push_back(suma);
            suma++;
        }
        else if(i == 1)
            vektor.push_back(suma);
        else{
            suma += vektor[i-2];
            vektor.push_back(suma);
        }
    }
    return vektor;
}

int main()
{
    std::vector<int> vektor;
    int broj;
    std::cin >> broj;
    vektor = Fibonaci(broj);
    std::cout << std::endl << "Niz je: " << std::endl;
    for(int i : vektor)
        std::cout << i << " ";
    return 0;
}

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#22 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 07/08/2018 23:18

Zadatak 2, paskalov trokut

Code: Select all

#include <iostream>
#include <vector>

std::vector<std::vector<int>> PaskalovTrokut(int n){
    int suma(0);
    std::vector<std::vector<int>> vektor;
    std::vector<int> red;
    
    for(int i = 0; i < n; i++){
        for(int j = 0; j <= i; j++){
            if(j == 0 || j == i){
                red.push_back(1);
            }
            else if(i > 1)
                red.push_back(vektor[i - 1][j - 1] + vektor[i - 1][j]);
        }
        vektor.push_back(red);
        red.clear();
    }
    return vektor;
}

int main()
{
    std::vector<std::vector<int>> vektor;
    int broj;
    std::cin >> broj;
    vektor = PaskalovTrokut(broj);
    std::cout << std::endl << "Trokut je: " << std::endl;
    for(auto i : vektor){
        for(auto j : i)
            std::cout << j << " ";
        std::cout << std::endl;
    }
    return 0;
}

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#23 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 07/08/2018 23:20

Ima jedna stvar viska u drugom zadatku, ko prvi otkrije dobije imaginarnu peticu. :D

User avatar
MarlboroGold
Posts: 18216
Joined: 24/06/2013 17:14
Location: Chaos Sanctuary

#24 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by MarlboroGold » 08/08/2018 07:35

Da nije nešto u vezi sume? :D

User avatar
triconja
Posts: 16222
Joined: 29/04/2012 07:04

#25 Re: C++ osnove i ostale tricarije pitanja i odgovori

Post by triconja » 08/08/2018 08:01

MarlboroGold wrote:Da nije nešto u vezi sume? :D
Jest :lol: :thumbup:

Edit: evo jos jedno pitanje, kako uraditi prvi zadatak bez upotrebe sume?

Post Reply