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

poruka: 7.285
|
čitano: 1.712.864
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

trebami pomoc oko programa za napisat c++ pocetnik sam:
(1. DIO)
napisi program koji od nas trazi podateke o imenu prezimenu i studentskom broju. za svakoga pita posebno, kasnije ispise iskaznicu slijedecog oblika:
STUDENTSKA ISKAZNICA
IME: Jakob
PRIMEK: JAKIC
BROJ: R12345678
Studentski broj moze sadrzavati slova, zato ga imamo kao "string".predpostavljamo da student ima jedno ime i prezime i da među njima nema razmaka, niti su dozvoljeni drugi znakovi.program bi trebao pokazati ime i prezime tako da bez obzira na unos za ime prvo slovo bude velikoa ostala malaa u prezime sva velika slova, sva slova u studentskom broju ukljucujuci i ona na pocetku se pri ispisu pretvore u velika slova.
(2. DIO)
Ovo je nadogradnja prvog djela, ovde moramo dodati funkciju koja dobije parametar "string". zadatak je da u dobijeni "string" unese znake "=" tako da razdjeli nizove znakova na podnize duge 5 slova. kada proiđemo do kraja i nema nijednog slova vise "jednako" ne dodajemo.funkcija ne ispisuje nista ali dobijeni string vrati kao rezultat.
PR: Funkcija dobije: "JedanDvaTriCetiriPet"
Funkcija vrati: "Jedan=DvaTr=iCeti=riPet"

u glavni program 2. djela dodacemo poziv te funkcije tako da je kao parametar damo niz sastavljen iz imena prezimena i studentskog broja. ruzultat ispise kao:
STUDENTSKA ISKAZNICA
IME: Jakob
PRIMEK: JAKIC
BROJ: R12345678
KOD: Jakob=Jakic=R1234=5678

u programu upotrijebiti funkciju substr() . JA SAM NESTO NAPISAO PRVOG DJELA ALI NE IDE MI POMOC MOLIM :(

Poruka je uređivana zadnji put čet 27.2.2014 21:09 (fanatikos).
 
0 0 hvala 0
15 godina
protjeran
offline
Programiranje u C++-u - pitanja i odgovori

Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?

Informatičarski haiku: Jebo te, Ne radi, Opet | HTC Hero - iPhone 3GS - Nexus S - Nexus 7 - Htc 8S - iPhone 4 - Galaxy S2 - HTC Sensation
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
EZY-E kaže...

Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?

Ja sam to radio u pythonu, mozes to i sam u par linija koda (uvjeren sam da je pythonom to najbrze za napravit, nikakav C, C++).

 

Napravis shutdown.bat, i u pythonu napravis da ti program broji sekunde, te pokrene .bat kad prede xy sekundi, minuta po volji.

 

Ovo sa sleepom ili hibernacijom se time i podrazumjeva...LP

Ukoliko smatrate da sam vam svojim postom, citiranjem, ili odgovorom pomogao, uzmite u obzir stisnuti tipku ''Hvala'', hvala Vam :)
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mojpismonosa kaže...
EZY-E kaže...

Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?

Ja sam to radio u pythonu, mozes to i sam u par linija koda (uvjeren sam da je pythonom to najbrze za napravit, nikakav C, C++).

 

Napravis shutdown.bat, i u pythonu napravis da ti program broji sekunde, te pokrene .bat kad prede xy sekundi, minuta po volji.

 

Ovo sa sleepom ili hibernacijom se time i podrazumjeva...LP

U C++u je dovoljna samo jedna linija koda tj. poziv API funkcije ExitWindows nakon što timer kaže da je vrijeme. Nikakve bat datoteke i i druge karafeke.

 

http://msdn.microsoft.com/en-us/library/windows/desktop/aa376868%28v=vs.85%29.aspx

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put čet 6.3.2014 7:54 (TracerCPP).
15 godina
protjeran
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...
Mojpismonosa kaže...
EZY-E kaže...

Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?

Ja sam to radio u pythonu, mozes to i sam u par linija koda (uvjeren sam da je pythonom to najbrze za napravit, nikakav C, C++).

 

Napravis shutdown.bat, i u pythonu napravis da ti program broji sekunde, te pokrene .bat kad prede xy sekundi, minuta po volji.

 

Ovo sa sleepom ili hibernacijom se time i podrazumjeva...LP

U C++u je dovoljna samo jedna linija koda tj. poziv API funkcije ExitWindows nakon što timer kaže da je vrijeme. Nikakve bat datoteke i i druge karafeke.

 

http://msdn.microsoft.com/en-us/library/windows/desktop/aa376868%28v=vs.85%29.aspx

Možeš mi napraviti taj program ako ti nije teško?

Znam samo neke osnovne stvari u vezi programiranja u c++ tako da se ne snalazim u ovako nečemu. :)

Informatičarski haiku: Jebo te, Ne radi, Opet | HTC Hero - iPhone 3GS - Nexus S - Nexus 7 - Htc 8S - iPhone 4 - Galaxy S2 - HTC Sensation
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Radim na takvom programu. Doduše, s puno više mogućnosti nego samo obični shutdown jer i meni treba takvo nešto. U nekih 2-3 tjedna vjerujem da ću završiti jer trenutno imam i drugog posla preko glave.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Kako izvući recimo prvo slovo u stringu ili predzadnju riječ iz stringa unešenog na tastaturi?

To sam ja- sigurno JA
13 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
wall3 kaže...

Kako izvući recimo prvo slovo u stringu ili predzadnju riječ iz stringa unešenog na tastaturi?

Prvo slovo - String[0] ili String.at(0)

Predzadnja riječ - razdijeliš string po razmaku (recimo koristeći C-libov strtok() kojemu proslijediš string.c_str() ili možda uspomoć Boostove split() metode) na niz stringova te onda samo pomoću subscripta dobiješ to što ti treba - nizStringova[nizStringova.size() - 1]

0100011001000001010100000010000000110100001000000100110001001001010001100100010100100001
Poruka je uređivana zadnji put sub 8.3.2014 2:39 (pr0n_addict).
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

 

U prvoj i jedinoj liniji standardnog ulaza dati su zbir Z i razlika R (0 ≤ Z, R ≤ 1000) za dva zamišljena nenegativna cela broja, a razlika dva broja je dobijena tako što je od većeg broja oduzet manji broj. Potrebno je napisati program OTKRIVANJE koji će pronaći zamišljene brojeve. Nenegativni brojevi su brojevi koji su veći ili jednaki 0. Na standardnom izlazu ispisati dva zamišljena broja (najpre veći, a potom manji broj) ili ispisati "GRESKA" (velika slova, bez navodnika) ako ne postoje takvi brojevi. Ispisani brojevi moraju biti celi nenegativni brojevi.

Evo kod i pitanje.

Zasto kad unesem 2 broja da im je zbir jednak Z a razlika jednaka R tj. da ispunjavaju uslov meni ispise te brojeve i "Greska"??
 

 


#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int z,r,i,j;
cout<<"Unesi zbir zamisljenih brojeva ";
cin>>z;
cout<<"Unesi razliku zamisljenih brojeva ";
cin>>r;
for(i=1;i<z;i++)
for(j=1;j<i;j++)
if (i+j==z && i-j==r)
{
cout<<i<<" "<<j<<endl;
}
if (i+j!=z || i-j!=r)
{
cout<<"greska"<<endl;
}
system("PAUSE");
return 0;
}

Poruka je uređivana zadnji put sub 8.3.2014 11:16 (Intelovac123).
 
0 0 hvala 0
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Zato što je zadnji if uvjet van petlji i kod njega je i = z, i j = z - 1

Poruka je uređivana zadnji put sub 8.3.2014 12:58 (Floki).
 
0 0 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav, imam jedan zadatak s strukturama i pokazivacima, kod je dobro napisan al javlja nekakvu grešku s metodom ''strcpy''.

Može li mi neko reći u čemu je problem? Na drugom kompjuteru isti kod radi bez problema.

Unaprijed hvala.

kod kod
greska greska
Moj PC  
0 0 hvala 0
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
dave1989 kaže...

Pozdrav, imam jedan zadatak s strukturama i pokazivacima, kod je dobro napisan al javlja nekakvu grešku s metodom ''strcpy''.

Može li mi neko reći u čemu je problem? Na drugom kompjuteru isti kod radi bez problema.

Unaprijed hvala.

VS 2013?

 

probaj zamjeniti strcpy sa strcpy_s

 

 

ovako:

 

 

strcpy_s(this->value, velicina+1, value);

 

 

Upozorenje ti tretira kao grešku, i nije jedina ova funkcija.

Poruka je uređivana zadnji put sub 8.3.2014 17:55 (Floki).
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Da, VS 2013 je instaliran.

 

Promjenio sam ovako kako si gore napisao i radi.

Zahvaljujem!!

 

Ima li neki razloz zašto ''strcpy'' neće ili je to mozda do Visual Studia?

17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
dave1989 kaže...

Da, VS 2013 je instaliran.

 

Promjenio sam ovako kako si gore napisao i radi.

Zahvaljujem!!

 

Ima li neki razloz zašto ''strcpy'' neće ili je to mozda do Visual Studia?

strcpy je nesigurna funkcija, pošto ne daješ u funkciju kao parametar veličinu koju kopiraš, pa su se mudrijaši iz MS-a dosjetili da više ne daju samo upozorenja, nego da to vode pod grešku, odnosno da compiler odbija prevesti kod.

Kao što možeš pročitati, to se može isključiti, ali ja nisam to napravio ni probao, jer se ne želim riješiti warningsa.

12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Floki kaže...
dave1989 kaže...

Da, VS 2013 je instaliran.

 

Promjenio sam ovako kako si gore napisao i radi.

Zahvaljujem!!

 

Ima li neki razloz zašto ''strcpy'' neće ili je to mozda do Visual Studia?

strcpy je nesigurna funkcija, pošto ne daješ u funkciju kao parametar veličinu koju kopiraš, pa su se mudrijaši iz MS-a dosjetili da više ne daju samo upozorenja, nego da to vode pod grešku, odnosno da compiler odbija prevesti kod.

Kao što možeš pročitati, to se može isključiti, ali ja nisam to napravio ni probao, jer se ne želim riješiti warningsa.

Aha, necu ni ja iskljucivati, kao što kazes bolje ostaviti upozorenja.

12 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
dave1989 kaže...

Pozdrav, imam jedan zadatak s strukturama i pokazivacima, kod je dobro napisan al javlja nekakvu grešku s metodom ''strcpy''.

Može li mi neko reći u čemu je problem? Na drugom kompjuteru isti kod radi bez problema.

Unaprijed hvala.

Tvoj kod inace ima niz nedostataka. Mozda ce ispast kao da gnjavim na pocetnickim stvarima, no ako vec ucis, onda bolje ucit pravilno.
Jedini ozbiljni je memory leak: alociras memoriju s new, a nikad ju ne brises. Trebao bi imat destrutor i delete[] Value u njemu.
Ostalo su stilske primjedbe: nije potrebno koristit kljucnu rijec 'this' u implementaciji funkcije, neki compileri ce dati i warning. Ja bih odmah prigovorio da na poslu vidim da mi to netko koristi.
Isto tako stavljanje atributa kao public clanova nije u duhu OOP-a. Ovako ti ove metode uopce nisu trebale bit u klasi...

16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
EZY-E kaže...

Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?

 

 

Evo sam ti u C++ -u  kodirao prilično simple shut_down program.

Znači obavlja što si naveo u postu , gasi mašinu nakon što zadaš za  koliko minuta da to učini.

u svakom trenu možeš vidjeti koliko je sekundi ostalo do shut down-a pa promjeniti tajming za gašenje ukoliko ti zadano vrijeme ne odgovara.

 

napomena:

Program je rađen alatima Qt 5.2.1 + mingw48_32 tako da sam ti potrpao sve za rad programa neopodne dll-ove.

 

Uploadao sam na datafilehost koji je naveden na http://www.bug.hr/forum/topic/programiranje/dijeljenje-svojih-uradaka-drugima/65886.aspx?page=0&jumpto=1212233&sort=asc&view=flat

 

link : http://www.datafilehost.com/d/d4f102f1

 

Pozdrav.

 

http:/https://play.google.com/store/apps/details?id=org.kde.necessitas.example.SMASHHH
Poruka je uređivana zadnji put ned 9.3.2014 0:59 (nik_02).
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

mozeli pomoc????

 

Napišite program, koji se sa korisnikom igra igre Blackjack sa kockama. Pri toj igri dva igraca izmjenično bacaju kocku i pokusavaju zbrati 21 tacku. Igrac moze kocku baciti vise puta,ali samo dotle da ne predje 21 tacku. Moze odustati ranije. isti, koji je bliže broju 21, dobije 2 tacke. ako je rezultat jednak, dobiju svaki 1 tacku.Ukoliko igrač prelazi 21 tacku pobjedio je drugi player. Ako su oba premašila  21-tacku jednako je.Igra se ponavlja 6 puta, a oni koji prikupe najviše bodova je konačan pobjednik.Korisnik uvijek baca prvi, računar ne sme varati, ali uvijek mora igrati, tako da kad postigne 18 bodova ili više odustaje ranije,a prije nikada ne odustaje.Program bi trebao proglasiti pobjednika u igri. Evo primjer:

 

 

IGRA BLACKJACK

Pozdravljeni!

 

Igrati cemo 6 igara.

 

Igra broj 1

Trenutni rezultat je 0 protiv 0

 

Bacio si 5.

Trenutno imas 5 tacki. Dali ces bacati kocku [D/N]: D

Bacio si 3.

Trenutno imas 8 tacki. Dali ces bacati kocku [D/N]: D

Bacio si 6.

Trenutno imas 14 tacki. Dali ces bacati kocku [D/N]: D

Bacio si 6.

Trenutno imas 20 tacki. Dali ces bacati kocku [D/N]: N

 

sada ja bacam kocku.

bacio sam: 2,6,4,4,3

Dosegao sam 19 tacki.

pobjedio si ti. Dobijes 2 tacki.

 

Igra broj 2

Trenutni rezultat je 2 protiv 0 za tebe

bacio si si 3.

...

...

sve igre su zavrsene. Konacni rezultat je 7 protiv 5 za tebe.

CESTITAM. TI SI POBIJEDNIK!

 

 

OVO JE KOD KOJEG MOZEMO UPOTRJEBITI:

Funkcija vnosChar {

 procitaj unos i vrati jedno slovo

}

 

Funkcija vnosInt {

 procitaj unos i vrati jedan broj

}

 

Glavni program {

  inicializiraj generator slucajnih brojeva

  postavi broj tacki oba igraca na 0

  izpisi pozdrav i uvodna pojasnila

  ponavljaj 6 puta {

   izpisi trenutno stanje tacki

   postavi korisnikove tacke na 0

   ponavljaj, dokad korisnik zeli {

    izaberi broj i ispisi ga

    izpisi trenutnu svotu

    pitaj dali zeli korisnik jos igrati 

   }

   postavi racunarove tacke na 0

   ponavljaj, dotad kad je tacki manje od 18 {

    izaberi i izpisi broj

   }

   izpisi racunarov rezultat

  odredi pobjednika i azuriraj broj tacki   

  }

rezultatno pogledano proglasi pobjednika

}

Poruka je uređivana zadnji put ned 9.3.2014 15:02 (fanatikos).
 
0 3 hvala 0
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav, 

 

Zna netko kako pretvoriti dekadski zapis ASCII koda u char varijablu

(imam problem s arduinom koji preko bluetootha prima dekadski zapis kad mu posaljem preko mobitela F on mi na LCD ispise ASCII broj,

sad predpostavljam da bi trebala biti ista naredba posto se Arduino programiranje bazira na c++)

(Saljem tu jer vidim da u arduino temi odgovor na svako pitanje dosao tjedan dana kasnije, googlanje ne poaze nazalost)

 

Hvala unaprijed.

:D
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Pa char i jest broj. Razlikuje se od inta samo u svojoj širini, char je 8 bita, a int 16, 32, 64... oba mogu biti signed i unsigned... Da bi vidio znak umjesto brojke, trebaš ispisati znak koji pripada tom ASCII kodu. To bi inače radio preko funkcije printf. Ako to ne možeš, odnosno ako nemaš funkcionalan C runtime onda trebaš implementirati vlastito rješenje koje bi trebalo švrljati po videomemoriji.
To understand what recursion is, you must first understand recursion.
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
Pa char i jest broj. Razlikuje se od inta samo u svojoj širini, char je 8 bita, a int 16, 32, 64... oba mogu biti signed i unsigned... Da bi vidio znak umjesto brojke, trebaš ispisati znak koji pripada tom ASCII kodu. To bi inače radio preko funkcije printf. Ako to ne možeš, odnosno ako nemaš funkcionalan C runtime onda trebaš implementirati vlastito rješenje koje bi trebalo švrljati po videomemoriji.

Evo, upravo sam se sjetio kako sam ispisivao prije na LCD znak stupnja i ovo funkcionira na isi nacin:

 

  x=Serial.read();

      lcd.setCursor(0, 1);

      lcd.print((char)x,1);

(x mora biti int jer inace ne funkcionira)

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

Naredba goto neradi. U čemu je problem? Može li prerada koda da se ne mora koristiti goto, ali da prima samo d ili n kao odgovor. Može li se getch () izbjeć?



Nebo je granica.
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
SuperWarrior kaže...

Naredba goto neradi. U čemu je problem? Može li prerada koda da se ne mora koristiti goto, ali da prima samo d ili n kao odgovor. Može li se getch () izbjeć?

Probaj ovako:

 

#include <iostream>
#include <cctype>

using namespace std;

int main()
{
    int m;
    char odg;

    cout << "Upisi broj mjeseca: ";
    cin >> m;

    switch (m)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            cout << "Mjesec ima 31 dan\n";
            break;

        case 4:
        case 6:
        case 9:
        case 11:
            cout << "Mjesec ima 30 dana\n";
            break;

        case 2:
            cout << "Je li prijestupna godina? (d/n) ";
            do
            {
                cin >> odg;
                odg = tolower(odg);

                if (odg == 'n')
                    cout << "Veljaca ima 28 dana\n";
                else if (odg == 'd')
                    cout << "Veljaca ima 29 dana\n";
            }
            while (odg != 'd' && odg != 'n');
            break;
    }

    return 0;
}

 

getch se može izbjeći ako program pokrećeš u IDE-u koji može pauzirati konzolni prozor nakon što se izvršavanje završi. U suprotnom ti trebaš nekako zadržati program da se konzolni prozor odmah ne zatvori (kao što si napravio sa getch).

To understand what recursion is, you must first understand recursion.
Poruka je uređivana zadnji put čet 13.3.2014 3:11 (rustweaver).
16 godina
offline
Programiranje u C++-u - pitanja i odgovori

Moze objasnjenje ovih 5-6 linija koda?

Nesto cu i ja napisati pa ispravite ako je krivo.

 

#include <iostream>

#include <cstdlib>

#include <fstream>

 

using namespace std;

 

int main()

{

   ofstream izlaz;                  //deklaracija izlaznog toga izlaz

   izlaz.open("dat.bin",ios::binary | ios::app);   //otvaranje datoteke dat.bin u binarnom obliku

   int p[]={3, 5, 1, 6};               //polje od 4 broja

   izlaz.write((char*)&p, sizeof(p));        // ???

   izlaz.close();                  //zatvaranje datoteke

   return 0;

}

Windows Phone FTW
Poruka je uređivana zadnji put čet 13.3.2014 22:23 (DommY).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Prvo pogledaj prototip metode write.

 

Dakle možemo vidjeti da write ima dva parametra, prvi je deklariran kao pokazivač na char, a drugi kao int.

 

Prvi argument koji ćeš proslijediti metodi write govori gdje se u memoriji nalaze charovi koje želiš zapisati u stream (memorijska adresa), dok drugi argument govori funkciji koliko tih charova želiš zapisati (odnosno koliko je niz dug) u stream.

 

Ako pogledaš spornu liniju koda vidjet ćeš da se prvo uzima adresa prvog elementa polja 'p' i potom se ta memorijska adresa casta u char pointer baš kao što metoda write i zahtjeva. Drugi argument je sizeof operator primijenjen na polje 'p'. Budući da sizeof operator vraća veličinu u bajtovima neke varijable (u ovom slučaju polja), dobit ćeš količinu bajtova koje to polje zauzima u memoriji. A kako je 1 char = 1 bajt tako si automatski dobio duljinu u charovima.

 

U C-u i C++-u char tip se koristi za pristup memoriji na razini bajtova, stoga ćeš često vidjeti da se char koristi i za stvari koje nemaju veze sa tekstom, ponekad je to prikriveno iza nekakvog typedefa ali sve je to isti drek.

 

Btw. jesi li siguran da doista želiš vršiti append na datoteku?

To understand what recursion is, you must first understand recursion.
Poruka je uređivana zadnji put pet 14.3.2014 4:44 (rustweaver).
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ima li kakva knjiga sa dosta zadataka i rješenjima ili nekakva stranica?

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

Ima li kakva knjiga sa dosta zadataka i rješenjima ili nekakva stranica?

LINK. Na kraju knjige ima oko 90 rješenih zadataka. Pokušaj u knjižari posuditi i sl.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

/*Napisati C program koji s tipkovnice ucitava realni broj. 

Potrebno je izracunati te na ekran ispisati binarni zapis tog 

realnog broja u 32-bitnom registru pomocu funkcije*/

 

#include <stdio.h>

#include <conio.h>

 

void dec_bin (int n);

 

int main () {

int dec;

scanf("%d", &dec); 

dec_bin(dec);

getchar();

return 0;

}

 

void dec_bin(int n){

int i,binarni[32];

for(i=0;i<32;i++){

binarni[i]=n%2;

n=n/2;

}

 

for(i=32;i>=0;i--){

printf("%d", binarni[i]);

}

}

 

Sve radi dobro, ali zašto mi prije binarnog zapisa uvijek ispiše 32? Oo

 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
ya-sam-ya kaže...

/*Napisati C program koji s tipkovnice ucitava realni broj. 

Potrebno je izracunati te na ekran ispisati binarni zapis tog 

realnog broja u 32-bitnom registru pomocu funkcije*/

 

#include <stdio.h>

#include <conio.h>

 

void dec_bin (int n);

 

int main () {

int dec;

scanf("%d", &dec); 

dec_bin(dec);

getchar();

return 0;

}

 

void dec_bin(int n){

int i,binarni[32];

for(i=0;i<32;i++){

binarni[i]=n%2;

n=n/2;

}

 

for(i=32;i>=0;i--){

printf("%d", binarni[i]);

}

}

 

Sve radi dobro, ali zašto mi prije binarnog zapisa uvijek ispiše 32? Oo

Druga petlja treba da ide od 31 - 0, a ne 32-0.

for(i = 32 31; i >= 0; i--){

  printf("%d", binarni[i]);

}

32 se ispisivalo jer i niz binarni i varijabla i su lokalne varijable(nalaze se na stacku), a varijabla i se nalazi iza niza (ne mora uvjek biti tako, ali u tvom slučaju jest)

Tako da kad pristupaš elementu niza sa indeksom 32 ti ustvari pristupaš varijabli i koja u tom trenutku ima vrijednost 32.

 

P.S. u zadatku se traži ispis realnog broja, a ne cijelog

Poruka je uređivana zadnji put sub 15.3.2014 20:22 (srky.du).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
srky.du kaže...

Druga petlja treba da ide od 31 - 0, a ne 32-0.

for(i = 32 31; i >= 0; i--){

  printf("%d", binarni[i]);

}

32 se ispisivalo jer i niz binarni i varijabla i su lokalne varijable(nalaze se na stacku), a varijabla i se nalazi iza niza (ne mora uvjek biti tako, ali u tvom slučaju jest)

Tako da kad pristupaš elementu niza sa indeksom 32 ti ustvari pristupaš varijabli i koja u tom trenutku ima vrijednost 32.

 

P.S. u zadatku se traži ispis realnog broja, a ne cijelog

skuzio sam, ali hvala na pojašnjenju..a ovo za realni broj nema veze, vazno da koncept znam, lako za to :)

E-mail:
Lozinka:
 
vrh stranice