[C++] Pomoc oko zadace

C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Avatar
Heisenberg
Postovi: 2232
Pridružen/a: 29 lis 2012, 07:57
OS: SLCKWR 14.1

[C++] Pomoc oko zadace

Post Postao/la Heisenberg »

Pozdrav.

Naime, imamo zadaću iz programiranja.
Zadatak je osmisliti program, a vezan je za pogađanje tajnog broja.

Citat sa kolegija:
Tajni broj može biti na početku definiran kao konstanta (jednostavnije rješenje) ili se može svaki put iznova generirati pomoću odgovarajuće funkcije za generiranje slučajnog broja (poboljšano rješenje)
Možete davati upute korisniku je li traženi broj veći ili manji od onog kojeg je upisao.
Pošto ja nisam sa programiranjem na ti, zamolio bi ako je ikako moguće, nekakve hintove kako napraviti ovaj programčić.
Mislim da se radi o for, while i do-while petljama ali nisam 100% siguran.

Jezik je C++, kao što sam i naveo u naslovu.
“Small shifts in your thinking, and small changes in your energy, can lead to massive alterations of your end result.”
Avatar
gagiD
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Spol: M
OS: Arch / Manjaro / #!

Re: [C++] Pomoc oko zadace

Post Postao/la gagiD »

Broj se treba pogadati sve dok se na pogodi ili odredeni broj puta ?
Avatar
Heisenberg
Postovi: 2232
Pridružen/a: 29 lis 2012, 07:57
OS: SLCKWR 14.1

Re: [C++] Pomoc oko zadace

Post Postao/la Heisenberg »

gagiD je napisao/la:Broj se treba pogadati sve dok se na pogodi ili odredeni broj puta ?
Sve dok se ne pogodi.
“Small shifts in your thinking, and small changes in your energy, can lead to massive alterations of your end result.”
Avatar
PunkBastard
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Spol: M
OS: Debian 7 Wheezy
Lokacija: wonderland

Re: [C++] Pomoc oko zadace

Post Postao/la PunkBastard »

Jednostavnija varijanta:

Kod: Označi sve

int a = rand() % 100+1;
int b;
do{
cout<<"Unesi broj: ";
cin>>b;
}while(a!=b);
"Poboljšano" riješenje:

Kod: Označi sve

int a = rand() % 100+1;
int b;
do{
a = rand()%100;
cout<<"Unesi broj: ";
cin>>b;
}while(a!=b);
e sad, tu će se vrtit to da pita za broj sve dok ne pogodiš jer nisam stavio nikakav izlaz ali nije ni bitno sada, i generira se random broj od 0 do 100

edit: ovo ti može pomoći sa sintaksama i naredbama koje bi mogao trebati tu i tamo: http://www.cplusplus.com/

edit2: a za poboljšano sa funkcijom:

Kod: Označi sve

// Generiranje broja
int generator (int a){
a = rand() % 100+1;
return a;
}

// Pogađanje
int a;
generator(a);
int b;
do{
generator(a);
cout<<"Unesi broj: ";
cin>>b;
}while(a!=b);
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Avatar
Heisenberg
Postovi: 2232
Pridružen/a: 29 lis 2012, 07:57
OS: SLCKWR 14.1

Re: [C++] Pomoc oko zadace

Post Postao/la Heisenberg »

Hvala @PunkBastard, tu sam i pronasao taj isti zadatak. Problem kod tog zadatka je sto koristi stvari koje mi jos nismo do sada radili.
Probat cu prilagodit tvoju ideju.
“Small shifts in your thinking, and small changes in your energy, can lead to massive alterations of your end result.”
Avatar
gagiD
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Spol: M
OS: Arch / Manjaro / #!

Re: [C++] Pomoc oko zadace

Post Postao/la gagiD »

Jos jedno moguce rjesenje:

Kod: Označi sve

#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
    int raspon;

    cout<<"Unesite gornju granicu zamisljenog broja:"<<endl; // donja granica je 1
    cin>>raspon;

    int broj , nasumicni = rand() % raspon + 1;


    while (1) {
        cout<<"Unesite broj"<<endl;
        cin>>broj;
        if ( broj == nasumicni ){
            cout<<"pogodili ste broj"<<endl;
            break;
        }
        if ( broj < nasumicni) {
            cout<<"zamisljeni broj je veci od unesenog"<<endl;
        }
        if ( broj > nasumicni ) {
            cout<<"zamisljeni broj je manji od unesenog"<<endl;
        }
    }
    return 0;
}

Avatar
PunkBastard
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Spol: M
OS: Debian 7 Wheezy
Lokacija: wonderland

Re: [C++] Pomoc oko zadace

Post Postao/la PunkBastard »

Heisenberg je napisao/la:Hvala @PunkBastard, tu sam i pronasao taj isti zadatak. Problem kod tog zadatka je sto koristi stvari koje mi jos nismo do sada radili.
Probat cu prilagodit tvoju ideju.
Nije valjda da ne smijete koristiti naredbe koje niste učili ? Ja sam imao takvog nastavnika u srednjoj, užas bilo, ograničen na samo nekoliko naredbi, strašno. Srećom sad na faksu smijemo sve koristiti samo trebamo objasniti što naredba radi a meni to nikada nije bio problem tako da me više niti ne pita što radi koja naredba jer zna da znam nego me samo napada što ne radim točno onako kako je zamislio on.
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Avatar
Heisenberg
Postovi: 2232
Pridružen/a: 29 lis 2012, 07:57
OS: SLCKWR 14.1

Re: [C++] Pomoc oko zadace

Post Postao/la Heisenberg »

Ovo je primjer sa web stranice o kojem sam pisao u prijasnjem postu: http://pastie.org/8980478 (provjereno radi)
I radi primjer od @gagiD.
PunkBastard je napisao/la: Nije valjda da ne smijete koristiti naredbe koje niste učili ? Ja sam imao takvog nastavnika u srednjoj, užas bilo, ograničen na samo nekoliko naredbi, strašno. Srećom sad na faksu smijemo sve koristiti samo trebamo objasniti što naredba radi a meni to nikada nije bio problem tako da me više niti ne pita što radi koja naredba jer zna da znam nego me samo napada što ne radim točno onako kako je zamislio on.
Pa nisu rekli da ne smijemo koristiti, jer ih skoro vecina nikad nije programirala nista (medju kojima sam i ja). Bilo bi sumnjivo ako bi napravio program a nikad nisam prije programirao (iako sam poceo proucavat knjigu Demistificirani C++).

edit: Zipao sam obje verzije te poslao na mudri. Zahvaljujem svima na pomoci.
“Small shifts in your thinking, and small changes in your energy, can lead to massive alterations of your end result.”
Avatar
PunkBastard
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Spol: M
OS: Debian 7 Wheezy
Lokacija: wonderland

Re: [C++] Pomoc oko zadace

Post Postao/la PunkBastard »

Meni je dovoljna sintaksa samo i skontam o čemu se radi, programiranje mi je kao slagalica, da bi došao do rezultata tražim dijelove koji se uklapaju (naredbe) i slažem dok ne dobijem tu funkcionalnost koju trebam, u biti samo translatiram ono što želim napraviti u kod. "Vrti "krivi odgovor" dok odgovor ne bude točan" = do {print "wrong answer"}while(answer!=correct). Na taj način ja gledam na programiranje.
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Avatar
Heisenberg
Postovi: 2232
Pridružen/a: 29 lis 2012, 07:57
OS: SLCKWR 14.1

Re: [C++] Pomoc oko zadace

Post Postao/la Heisenberg »

PunkBastard je napisao/la:Meni je dovoljna sintaksa samo i skontam o čemu se radi, programiranje mi je kao slagalica, da bi došao do rezultata tražim dijelove koji se uklapaju (naredbe) i slažem dok ne dobijem tu funkcionalnost koju trebam, u biti samo translatiram ono što želim napraviti u kod. "Vrti "krivi odgovor" dok odgovor ne bude točan" = do {print "wrong answer"}while(answer!=correct). Na taj način ja gledam na programiranje.
Pa da, tako i ja nekako gledam na programiranje. Ne mogu skuzit kolege sa faksa koji strebaju napamet sve moguce stvari, a slabo koriste logiku i tretiraju sve (kako si ti natuknuo) kao slagalicu. Zao mi je toga, ali vise od polovine polaznica ce past kolegij. Dosta je i ponavljaca.
“Small shifts in your thinking, and small changes in your energy, can lead to massive alterations of your end result.”
Odgovori