[ anon75319 @ 08.12.2005. 15:39 ] @
od profesora sam dobio jedan jednostavan zadatak koji sam napisao i sve radi ali prikazuje i nesto suvisno........

ovdje je kod

Code:
#include <iostream>
using namespace std;
int main()
{
    int hrVrijeme;
    ispocetka:
    cout << hrVrijeme << endl;
    cin >> hrVrijeme;
    if (hrVrijeme==0)
        cout << "12 AM" << endl;
    else if (hrVrijeme==1)
        cout << "1 AM" << endl;
    else if (hrVrijeme==2)
        cout << "2 AM" << endl;
    else if (hrVrijeme==3)
        cout << "3 AM" << endl;
    else if (hrVrijeme==4)
        cout << "4 AM" << endl;
    else if (hrVrijeme==5)
        cout << "5 AM" << endl;
    else if (hrVrijeme==6)
        cout << "6 AM" << endl;
    else if (hrVrijeme==7)
        cout << "7 AM" << endl;
    else if (hrVrijeme==8)
        cout << "8 AM" << endl;
    else if (hrVrijeme==9)
        cout << "9 AM" << endl;
    else if (hrVrijeme==10)
        cout << "10 AM" << endl;
    else if (hrVrijeme==11)
        cout << "11 AM" << endl;
    else if (hrVrijeme==12)
        cout << "12 PM" << endl;
    else if (hrVrijeme==13)
        cout << "1 PM " << endl;
    else if (hrVrijeme==14)
        cout << "2 PM" << endl;
    else if (hrVrijeme==15)
        cout << "3 PM" << endl;
    else if (hrVrijeme==16)
        cout << "4 PM" << endl;
    else if (hrVrijeme==17)
        cout << "5 PM" << endl;
    else if (hrVrijeme==18)
        cout << "6 PM" << endl;
    else if (hrVrijeme==19)
        cout << "7 PM" << endl;
    else if (hrVrijeme==20)
        cout << "8 PM" << endl;
    else if (hrVrijeme==21)
        cout << "9 PM" << endl;
    else if (hrVrijeme==22)
        cout << "10 PM" << endl;
    else if (hrVrijeme== 23)
        cout << "11 PM" << endl;
    goto ispocetka;
        char z;
        cin >> z;
    return 0;
}


koristim Dev-C++
znaci kad kompajlam prog, u prvom redu pojavi se ovaj broj "2009196833"
nemam pojma zasto se pojavljuje.....

zadatak glasi:
Matija ide u SAD na ACSL All-Star natjecanje. Pripremajuci se za to natjecanje matija je saznao da Amerikanci čudno prikazuju vrijeme. Napišite program koji će pomoči matiji pretvarati hrvatsko vrijeme u američko


primjer
ulaz: 22
izlaz: 10 PM



[Ovu poruku je menjao wiktor dana 08.12.2005. u 16:48 GMT+1]
[ anon75319 @ 08.12.2005. 15:42 ] @
pocetnik sam u c++ pa imam za vas jos brdo pitanja

dali bi se taj kod mogao napisati krace, tj. bez ovih gomilu elseif i else naredba?

gdje mogu saznati brzinu otvaranja programa?
jer mi je ograničenje 1 s



[Ovu poruku je menjao wiktor dana 08.12.2005. u 16:50 GMT+1]
[ idb @ 08.12.2005. 18:03 ] @
Citat:
znaci kad kompajlam prog, u prvom redu pojavi se ovaj broj "2009196833"
nemam pojma zasto se pojavljuje.....

promenljivu hrVrijeme nigde nisi inicijalizovao, pa se tu zadesila neka slucajna vrednost
izbisi red
Code:
cout << hrVrijeme << endl;

i nestace problemi, ili ga prebaci posle ucitavanja ( >> hrVrijeme;)
P.S. 1: Sta ce se desiti ako uneses recimo karakter 'f'?

Tvoj profa je sigurno hteo nesto poput ovoga dole:
Code:

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    int hrVrijeme = 0;
    do
    {
       cin >> hrVrijeme;
       if ((hrVrijeme<0)||(hrVrijeme>23)) continue;
       //else if (hrVrijeme==0) cout <<"12 AM" << endl; 
            // ne znam da li je 00:00 == 12AM , ako jeste => ti ukloni "//"
       else if (hrVrijeme==12)cout <<"12 PM" << endl;
       else if (hrVrijeme<12) cout << hrVrijeme<<" AM" << endl;
       else  cout << hrVrijeme-12<<" PM" << endl;
    }
    while (hrVrijeme>=0); // uslov izlaska hrVrijeme<0
    system("PAUSE");
    return 0;
}

P.S. 2: I dalje ostaje problem: Sta ce se desiti ako uneses recimo karakter 'f'?
Ovo mozes resiti recimu, unosom string promenljive koju zatim konvertujes u int,....
[ idb @ 08.12.2005. 18:04 ] @
izvinjeneje ovo je bio dupli post, usled losih veza...

[Ovu poruku je menjao idb dana 08.12.2005. u 19:15 GMT+1]
[ NrmMyth @ 09.12.2005. 20:34 ] @
Radi se o zadatku sa HPL-a, jeli tako. ;)
Najlakse ti je provjeriti dali je broj manji od 12, jednak 12, veci od 12 i jednak 24. I onda ispises odgovarajuce odgovore. Lako je razmisli malo.
[ sucur @ 09.12.2005. 23:22 ] @
Ma samo ga preko for petlje provuci i to je to.
[ anon75319 @ 10.12.2005. 10:05 ] @
da zadatak je sa HPLa

evo kako sam glup :D
ja sam proucavao ovaj idbov kod i cudil sam se kak je sa 3 IFova sve rješil a zapravo vrlo jednostavno
ipak necu kopirati kod i dati profi nego budem probal sam rješiti ;)
[ anon75319 @ 10.12.2005. 10:08 ] @
e da kako da jos provjerim brzinu izvrsavanja jer mi je ograničenje 1 s.......
[ NrmMyth @ 10.12.2005. 18:24 ] @
:)))
Vjeruj mi 3 ifa upadnu u tu jednu sekundu...
Obicno su ti prva 3 zadatka sa HPL-a za rijesiti bez poznavanja ikakvih algoritama i struktura, pa u njima i ne moras "provjeravati brzinu."
[ X Files @ 11.12.2005. 09:58 ] @
Kuda ide ovaj 'naš' region? Voleo bih da se upoznam s profesorom koji 'meri' brzinu
i tako ocenjuje C++ programe... Umesto da se kroz jezik C++ proučavaju OOP
tehnike, sve se svodi na rešavanje strukturalnih problema kroz C++. Isto kao
na BASIC-u, FORTRAN-u i Pascal-u pre 20 godina... Nema kvalitativnog pomaka.

Varaždin je pre 15 godina bio EPICENTAR računarstva u državi. Imali su jedan od
najboljih (najupotrebljivijih) računara u državi po mom mišljenju, koji je proizvodila
PEL - PROFESIONALNA ELEKTRONIKA:

ORAO 32, 102 - Ugradjen izuzetan BASIC i izuzetan 6502 asembler.

Zahvaljujući tom računaru (koga i dan-danas imam i radi) sam i počeo da se bavim
programiranjem.

Veruj mi, taj JEDAN MHz (megaherc) u INTERPRETER modu BASIC-a bi progurao
tvoje IF naredbe za JEDNU sekundu, a kamo li Dev-C++ kompajler na današnjim
procesorima.

EDIT:

Code:

// C način - NETESTIRANO

// ovo stavljaš tamo gde i ostale include direktive
#include "time.h"

// ovo staviš iza main()
clock_t start, finish;

// odmah iza unosa svih podataka potrebnih za proračun staviš ovo...
start = clock();

// OVDE STAVIŠ TVOJ KOD!!!

// ovo ide iza tog tvog koda
finish = clock();
cout << "Vreme izvršavanja (u sekundama): " << ( (double)( finish - start ) ) / CLOCKS_PER_SEC;

// e sad ne znam kako će se ovo zaokruživati pa probaj da izbegleš ono deljenje sa CLOCKS_PER_SEC
// da bi dobio rezultat približniji milisekundama.




[Ovu poruku je menjao X Files dana 11.12.2005. u 11:13 GMT+1]

EDIT:

E evo kako bi merenje islo preko klase i RAII-ja (dakle u duhu C++-a):

http://www.informit.com/guides...usplus&seqNum=156&rl=1



[Ovu poruku je menjao X Files dana 11.12.2005. u 12:56 GMT+1]
[ anon75319 @ 12.12.2005. 13:27 ] @
elitesecurity i have a problem, jucer dok sam se tuširal......
razmišljal sam o zadacima koje sam dobil i onda sam se sjetil ovog djela
"izlazni podaci: Rješenje treba ispisati na zaslon. U prvi i jedini redak treba ispisati redni broj patuljaka koj nedostaje"
(to je 2. zadatak)
kak to rješiti ........ :'(
[ anon75319 @ 12.12.2005. 13:36 ] @
drugi zadatak sam rješil ali me muci jos samo taj problem(u gornjem postu)
evo koda
Code:

#include <iostream>
using namespace std;
int main(void) {
    int prvi, drugi, treci, cetvrti, peti ,sesti, zbroj;
    cin>>prvi;
    cin>>drugi;
    cin>>treci;
    cin>>cetvrti;
    cin>>peti;
    cin>>sesti;
    zbroj=prvi+drugi+treci+cetvrti+peti+sesti;
    int ukPatuljakaZbroj=28;
    int patuljakNedostaje=ukPatuljakaZbroj - zbroj;
    cout << patuljakNedostaje << endl;
    char z;
    cin>>z;
    return 0;
}

[ idb @ 12.12.2005. 13:42 ] @
A gde ti je tekst zadatka?
[ anon75319 @ 12.12.2005. 13:59 ] @
evo tekst

Sedam malih patuljaka krenulo je, trbuhom za kruhom, na dalek put. Svake noći, nakon što zapale vatricu i sjednu u krug oko nje patuljci se prebrojavaju da vide jesu li svi na broju. Patuljci su označeni brojevima od 1 do 7, te pri prebrojavanju svatko od njih kaže svoj broj.

Jedne noći čulo se samo šest brojeva pri prebrojavanju što znači da jedan od njih nedostaje, ali oni ne mogu zaključiti tko je to. Pomozite malenim patuljcima i napišite program koji rješava zadani problem.

Ulazni podaci

Ulazni podaci učitavaju se sa tipkovnice. U šest redaka nalazi se po jedan broj. To su brojevi koje su patuljci izgovorili pri prebrojavanju.

Izlazni podaci

Rješenje treba ispisati na zaslon. U prvi i jedini redak treba ispisati redni broj patuljka koji nedostaje.

Test primjeri

tipkovnica
1
2
3
4
5
6

zaslon
7
tipkovnica
7
1
5
6
2
4

zaslon
3
tipkovnica
3
6
2
5
7
4

zaslon
1

taj mi je bil laksi nego prvi.........
[ idb @ 12.12.2005. 16:30 ] @
Ako sam dobro shvatio...
Code:

    .
    .
    .
    cout << patuljakNedostaje;    // << endl;
//    char z;
//    cin>>z;
    return 0;
}

PS.
A sta ce se desiti ako uneses (8,9,10,11,12,13):

8
9
10
11
12
13
-35

Snezana (Sneguljica) ce da dobije infarkt!
[ anon75319 @ 12.12.2005. 16:34 ] @
pa pravila za program su strogo definirana i nigde ne pise da treba napraviti "zastitu" od prevelikih unosa ;)
a i mogel bi rjesiti taj problem pa nebi bil broj u minusu ;)

hvala na pomoci
[ NrmMyth @ 12.12.2005. 17:01 ] @
Evo ti rijesenje:
zbroji broj svakog patuljka i oduzmi od 28 (suma svih patuljka) i dobit ces broj onoga koji nedostaje.
[ anon75319 @ 12.12.2005. 17:51 ] @
pa to sam i napravil gore.......
pogledaj malo bolje kod

[ anon75319 @ 12.12.2005. 17:57 ] @
Citat:
idb: Ako sam dobro shvatio...
Code:

    .
    .
    .
    cout << patuljakNedostaje;    // << endl;
//    char z;
//    cin>>z;
    return 0;
}

PS.
A sta ce se desiti ako uneses (8,9,10,11,12,13):

8
9
10
11
12
13
-35

Snezana (Sneguljica) ce da dobije infarkt!


vjerovatno nisi dobro shvatio...

znaci pri upisu patuljaka se ti brojevi nebi smjeli prikazivati na zaslonu(tak sam ja to shvatil)
jer kaze
Rješenje treba ispisati na zaslon. U prvi i jedini redak treba ispisati traženi brojiz zadatka....

ako je neko bil na takvim natjecanjima on to najbolje zna. inace takvih ograničenja nije bilo na QBASIC natjecanjima
[ anon75319 @ 12.12.2005. 18:01 ] @
Citat:
idb:

PS.
A sta ce se desiti ako uneses (8,9,10,11,12,13):

8
9
10
11
12
13
-35

Snezana (Sneguljica) ce da dobije infarkt!


kolko ja znam nema vise od 7 patuljaka

sad sam to rješio(tak da ne moze ispasti negativan broj)
kod
Code:

#include <iostream>
using namespace std;
int main(void) {
    int prvi, drugi, treci, cetvrti, peti ,sesti, zbroj;
    cin>>prvi;
    cin>>drugi;
    cin>>treci;
    cin>>cetvrti;
    cin>>peti;
    cin>>sesti;
    zbroj=prvi+drugi+treci+cetvrti+peti+sesti;
    [b]int ukPatuljakaZbroj=prvi+drugi+treci+cetvrti+peti+sesti;[/b]
    int patuljakNedostaje=ukPatuljakaZbroj - zbroj;
    cout << patuljakNedostaje << endl;
    system("PAUSE");
    return 0;
}
[ anon75319 @ 14.12.2005. 12:40 ] @
kaj niko nezna odgovor?

ajde pliz ako neko zna nek mi veli jer mi je dosta hitno