Page 1 of 6

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

Posted: 23/07/2018 13:14
by triconja
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).

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

Posted: 23/07/2018 13:33
by Truba
ja mislio ti bauštelac

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

Posted: 23/07/2018 13:34
by ExNihilo
I mene je triconja pozitivno iznenadio. :lol:

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

Posted: 23/07/2018 13:35
by Truba
izgleda samo ga ja pušim ovdje

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

Posted: 23/07/2018 13:36
by ExNihilo
Black swan wrote:izgleda samo ga ja pušim ovdje
Šuti, dobio si neki dan povišicu.

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

Posted: 23/07/2018 13:36
by Nastasia
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:

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

Posted: 23/07/2018 13:49
by triconja
Mecite kodove, a kasnije moremo u kosidbu i na saljevanje ploce :D :lol:

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

Posted: 23/07/2018 16:44
by Melo15
Pitanje jedno, je li u ovom novom "pravilniku" za C++ se ne moze ukljuciti namespace std?

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

Posted: 23/07/2018 18:16
by triconja
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

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

Posted: 23/07/2018 20:00
by Melo15
Nesto a ?

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

Posted: 23/07/2018 20:16
by mk ultra
trebalo bi gresku da izbaci, ne mislim da bi ti i kompajliralo

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

Posted: 23/07/2018 20:36
by triconja
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

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

Posted: 23/07/2018 20:47
by Melo15
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:

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

Posted: 23/07/2018 20:49
by triconja
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:

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

Posted: 01/08/2018 19:46
by red evil
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

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

Posted: 01/08/2018 19:55
by triconja
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

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

Posted: 02/08/2018 13:20
by triconja
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;
}

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

Posted: 02/08/2018 13:37
by triconja
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;
}

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

Posted: 02/08/2018 14:22
by triconja
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;
}

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

Posted: 02/08/2018 14:30
by djkurt
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

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

Posted: 07/08/2018 23:07
by triconja
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;
}

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

Posted: 07/08/2018 23:18
by triconja
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;
}

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

Posted: 07/08/2018 23:20
by triconja
Ima jedna stvar viska u drugom zadatku, ko prvi otkrije dobije imaginarnu peticu. :D

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

Posted: 08/08/2018 07:35
by MarlboroGold
Da nije nešto u vezi sume? :D

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

Posted: 08/08/2018 08:01
by triconja
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?