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

poruka: 7.285
|
čitano: 1.726.725
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
emerik kaže...
Postoji onda neka lista u kojoj su posloženi po težini?

Ne postoji.

14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

zanima me naredba koja ucitava varijable (int,double) u neki vector ili niz razdvojene razmakom dok se ne pritisne enter, dakle vrlo jednostavno, samo što ja neznam tu naredbu, može pomoć?

Igor
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Znakovni niz unosiš pomoću naredbe gets().

14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

da, ali meni je potreban unos int-ova

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

zanima me naredba koja ucitava varijable (int,double) u neki vector ili niz razdvojene razmakom dok se ne pritisne enter, dakle vrlo jednostavno, samo što ja neznam tu naredbu, može pomoć?

Ovo je zanimljiv problem... Nisam upoznat sa time da li postoji takva funkcija tj. koja može unesene brojeve sa tipkovnice razdvojene razmakom automatski ubaciti u cjelobrojno polje ili vektor, no malo sam se poigrao s time pa vidi da li ti ovo odgovara;

 

#include <iostream>
using namespace std;

void UcitajNiz(int *niz, char* unos, int* koliko){
    int duljina = 0;
    char pom[10];
    *koliko = 0;

    while(sscanf(unos + duljina, "%s", pom) != EOF)  {
       (*koliko == 0) ? (duljina += strlen(pom)) : (duljina += strlen(pom)+1);
       niz[(*koliko)++] = atoi(pom);
    }
}
int main() {
    int polje[20], br_unesenih;
    char unos[100];

    cin.getline(unos, 100); // unosi brojeve sve dok se ne stisne tipka ENTER
    UcitajNiz(polje, unos, &br_unesenih); // ucitaj brojeve u niz

    // ispis polja
    for(int i = 0; i < br_unesenih; i++)
       cout << polje[i] << " ";
    return 0;
}

 

Modificiraj kako ti odgovara no u pravilu ne bi trebalo biti problema...

Poruka je uređivana zadnji put uto 21.2.2012 20:06 (TracerCPP).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Kada vidim kako komplexne programe rješavate sramota me postaviti sljedeće pitanje ali budući da ne mogu pronaći odgovor nigdje na netu moram pitati ovdje.Vježbam osnove programiranja i naletio sam na ovakav zadatak

 

Napisati program koji unosi pozitivne cijele brojeve, sve dok njihov prosjek se premaši 40 i u posebnim funkcijama izračunava broj onih koji se ne završavaju sa 7 i sumu onih koji ne sadrže znamenku 5. Rezultati se ispisuju u glavnom programu. Potrebna je kontrola unosa.

 

 

Početak zadatka mislim da sam riješio dobro:

 

#include <cstdlib>

#include <iostream>

int main(int argc, char *argv[])

 

{int n,broj,prosijek,zbroj;

n=0;

broj=0;

prosijek=0;

zbroj=0;

   do

{

cout<<"Unesite broj: ";

cin>>broj;

zbroj=zbroj+broj;

     n=n+1;

prosijek=zbroj/n;

}

while(prosijek<40);}

 

 

 

   system("PAUSE");

   return EXIT_SUCCESS;

}

 

i sada dolazim do problema,ne mogu nigdje pronaći kako da riješim ovaj dio sa prepoznavanjem znamenki 7 i 5 kod unešenih brojeva,pa eto ako bi netko htio riješiti cijeli zadatak ili me uputiti na neki link gdje se može pronaći rješenje za ovaj konkretan problem bio bih jako zahvalan,poZz

 

Poruka je uređivana zadnji put uto 21.2.2012 22:17 (FFFFFUUUUUUUUUU).
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

A gdje si osigurao da su uneseni brojevi pozitivni?

Poruka je uređivana zadnji put uto 21.2.2012 22:18 (royalhero).
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FFFFFUUUUUUUUUU

 

i sada dolazim do problema,ne mogu nigdje pronaći kako da riješim ovaj dio sa prepoznavanjem znamenki 7 i 5 kod unešenih brojeva,pa eto ako bi netko htio riješiti cijeli zadatak ili me uputiti na neki link gdje se može pronaći rješenje za ovaj konkretan problem bio bih jako zahvalan,poZz

 

Ovo za zadnju znamenku broj sedam ti je   if (broj % 10 != 7) brojbezsedam=brojbezsedam+1, znači samo zadnju znamenku će provjerit.

 

To možeš ponovit dok od broja ne dobiješ 0 pa ako nijedna znamenka nije 5, dodaš u sumu.

 

while broj!=0

{

zadnjaznamenka= broj % 10;  

broj = broj div 10;

if (zadnjaznamenka=5) petice=false;

}

if (petice==true) suma=suma+broj;

 

Nešto od toga ćeš valjda iskombinirat, to sve bi trebalo radit {#}

Poruka je uređivana zadnji put uto 21.2.2012 22:25 (Looka).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
royalhero kaže...

A gdje si osigurao da su uneseni brojevi pozitivni?

 

zato sam i napisao da samo MISLIM da sam dobro otpočeo,jer ja sam totalni početnik što se programiranja tiče...

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

Pa razmisli čime možeš provjeriti da li je uneseni broj manji ili veći od 0?

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

 

if(broj<0)

{

cout<<"Broj "<<broj<<" je negativan. "<<endl;

}

 else

ostatak zadatka

 

to bi trebalo riješiti stvar?

 

Poruka je uređivana zadnji put uto 21.2.2012 22:29 (FFFFFUUUUUUUUUU).
 
1 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Da, mogao bi ako je broj manji od nule izaći iz programa, no manje bitno.

Malo intendancije ti nebi škodilo, fale ti vitičaste zagrade kod else-a.

Misliš cijelu stvar?, nikako!

Poruka je uređivana zadnji put uto 21.2.2012 22:32 (royalhero).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

ma ne stvar kao cijeli zadatak nego samo dio za unos negativnih brojeva

 

probati ću iskombinirati nešto od ovoga što je looka naveo

 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

zašto ograničiti program da može raditi samo sa pozitivnima? ako je zadatak da ulaze pozitivni, onda neka korisnik unese pozitivne, ako ne, ionako ce izracunat jer bi algoritam trebao radit i ovako i onako

Igor
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Eo ovako slabo sam učio u srednjoj C++ program i sad ga imam na ispitu iz jednog predmeta pa bih molio nekog da mi da rješenje odnosno postavu koda za ovaj problem:

 

S tipkovnice učitati najprije prirodne brojeve m i n koji moraju biti manji od 8. Nakon toga učitati u
matricu koja ima maksimalno 20 redaka i 20 stupaca m x m elemenata. Pronaći i na ekran ispisati:
a) najveći broj u M-tom retku matrice,
b) najmanji broj u N-tom stupcu matrice

 

 

Hvala unaprijed!!!

<---Don`t Drink & Drive, Take Joint And Fly--->
 
0 1 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ne vidim gdje si ti tu uložio svoj trud i vrijeme? Ili očekuješ da sve netko napravi za tebe?

Moj PC  
1 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ako nećeš pomoći ili ne znaš, nemoj! Uglavnom problem je što taj zadatak maltene ne znam ništam znam ga započeti možda i zadati varijable, ali dalje nemam pojma i sad pitam da netko ko zna to ako mu se da, da napiše program, ako ne nikom ništa

Cheers!

<---Don`t Drink & Drive, Take Joint And Fly--->
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
dino1111 kaže...

Ako nećeš pomoći ili ne znaš, nemoj! Uglavnom problem je što taj zadatak maltene ne znam ništam znam ga započeti možda i zadati varijable, ali dalje nemam pojma i sad pitam da netko ko zna to ako mu se da, da napiše program, ako ne nikom ništa

Cheers!

..i upravo zato nema smisla da ti taj zadatak netko rješava jer ti ionako nećeš ništa shvatiti. 

 

Da bi ti se pomoglo prvo pokaži volju i zanimanje da sam sebi pomogneš. Drugim riječima, kreni učiti pa ako zapneš u procesu učenja onda se javi s konkretnim problemom.

Poruka je uređivana zadnji put čet 23.2.2012 14:29 (TracerCPP).
17 godina
moderator
online
Re: Programiranje u C++-u - pitanja i odgovori
dino1111 kaže...

Ako nećeš pomoći ili ne znaš, nemoj!

Vidi se da si friški na ovom forumu. Gle, tu ljudi rado pomognu, ali ne žele rješavati tuđe domaće zadaće. {#} I to je posve u redu i ti ih nemaš nikakvo pravo prozivati oko toga, tim više što sam nisi spreman pokazati nikakvu inicijativu.

 

dino1111 kaže...

Uglavnom problem je što taj zadatak maltene ne znam ništam znam ga započeti možda i zadati varijable, ali dalje nemam pojma

Pa onda ga započni. Zadaci se rješavaju korak po korak. Pa lijepo počni rješavati, daj kod koji si dotad napisao i pomoći će ti se.

 

Minimum što možeš napraviti je:

  • S tipkovnice učitati najprije prirodne brojeve m i n koji moraju biti manji od 8

 

Ako to ne znaš, onda bolje da ništa ni ne pitaš, jer to je ko da ne znaš što je nominativ ili što je operacija zbrajanja ili nota C.

 

Nakon toga ide:

  • Nakon toga učitati u matricu koja ima maksimalno 20 redaka i 20 stupaca m x m elemenata.

 

Deklarirati matrice ne znaš? Tražiti od korisnika unos brojeva u matricu ne znaš? http://www.physics.utah.edu/~detar/lessons/c++/matrices/node1.html

 

Pronaći i na ekran ispisati:... - zar ne možeš ni objasniti kako bi se to pronašlo i ispisalo?

 

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

Jel mi moze neko objasnit makro(Sto znaci makro?) naredbe : va_list,va_start,va_arg i va_end i cemu sluze? Ucim po knjizi Demistificirani c++ i zapeo sam kod malo veceg koda kojeg bas nekuzim a glavne su te naredbe .

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Imaš primjer u prvom postu na ovoj temi.

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

Ma znam to , ali nekuzim sta rade te naredbe , znam samo da sluze za listu argumenata .

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Može pitanje u vezi polja u C-u. Pošto znam kako se polja deklariraju imam pitanje: kako ih koristiti kod višeznačnog unosa tipa: int v[10]; jedn. polje s max. unosom 10 brojeva.. e sad bi ja kad unesem te brojeve trebao koristiti tako da ih zbrojim sve međusobno, ali pokušavao sam i ne mogu skontati kako

<---Don`t Drink & Drive, Take Joint And Fly--->
 
0 0 hvala 0
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
dino1111 kaže...

Može pitanje u vezi polja u C-u. Pošto znam kako se polja deklariraju imam pitanje: kako ih koristiti kod višeznačnog unosa tipa: int v[10]; jedn. polje s max. unosom 10 brojeva.. e sad bi ja kad unesem te brojeve trebao koristiti tako da ih zbrojim sve međusobno, ali pokušavao sam i ne mogu skontati kako

Deklariraš jednu varijablu suma, inicijaliziraš je na 0 i kroz petlju joj pribrojiš sve elemente polja.

 

int suma = 0;

for(int i=0; i<velicinaPolja; i++)

{

    suma += polje[i];

}

 

Ali ako je samo sebi svrha zbroj unesenih elemenata, onda polje nije ni potrebno, pošto se ovako varijabla suma može pribrajati i kod unosa elementa.

Poruka je uređivana zadnji put pet 24.2.2012 16:01 (Floki).
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

C++:

 

Ako u funkciji na određenom mjestu imam deklaraciju varijable ("int i = 0" npr.) a funkcija se poziva 100 puta, što se događa u memoriji? Stvori se 100 integera na različitim mjestima ili se konstantno prebriše ovaj prvi int?

Poruka je uređivana zadnji put sub 25.2.2012 21:53 (paradajz).
 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Svaki put kada se pozove funkcija njene lokalne varijable stavljaju se na stog, a kada funkcija završi s radom unišavaju se svi objekti koji su bili na stogu. Da li će varijable biti na istim memorijskim lokacijama svaki put kad se pozove funkcija nije sigurno. Štoviše, ne bih rekao.

14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Dakle, pozovem funkciju, inicijaliziraju se neke vrijednosti u memoriji koje se spreme na stog, funkcija završi pa se briše sve sa stoga i tako sve isponova prilikom novog poziva?

Poruka je uređivana zadnji put sub 25.2.2012 22:13 (paradajz).
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Pozivom funkcije by value u stvari vršiš kopiranje parametra kojeg funkcija sadrži.

 

void Funkcija(int vrijednost) {}

 

 

int broj = 5;

Funkcija(broj);

 

 

U stvari pozivom funkcije Funkcija(broj) vršiš dodjelu int vrijednost = broj; - kopiraš vrijednost varijable broj u varijablu vrjednost.

Sto poziva - napravi 100 kopija, i kao što reče @Tracer te varijable se pozivom funkcije smjeste na stog.

Bitno je uoćiti tri stvari:

- pozivom funkcije po vrijednosti (by value) vrši se kopiranje objekata

- takvi objekti tj. lokalne varijable se smještaju na stog

- izlaskom iz funkcije takvi objekti se uništavaju

 

 

p.s. Razumjevanje ovog mehanizma kasnije dobro dođe pri učenju rekurzije, jer rekurzija mnoge ljude buni, mada ju je lako svladati kad se ima na umu ovaj mehanizam, jer uistinu je moguće ostvariti 100 poziva funkcije, bez da se prethodna zatvori prje nego sljedeća pozove - poziv funkcije u funkciji ilti rekurzija.

Poruka je uređivana zadnji put ned 26.2.2012 14:31 (Floki).
 
0 0 hvala 0
17 godina
moderator
online
Re: Programiranje u C++-u - pitanja i odgovori
paradajz kaže...

C++:

 

Ako u funkciji na određenom mjestu imam deklaraciju varijable ("int i = 0" npr.) a funkcija se poziva 100 puta, što se događa u memoriji? Stvori se 100 integera na različitim mjestima ili se konstantno prebriše ovaj prvi int?

100 puta se poziva - kako? Rekurzijski? Onda sigurno varijabla neće biti na istoj memorijskoj adresi, jer tada ne bi bilo moguće pamtiti vrijednost varijable u "vanjskoj" rekurziji.

 

Ako je pozivaš jednu za drugom, onda je lako moguće (ja bih zapravo rekao i vrlo vjerojatno) da će varijabla biti smještena na istu memorijsku lokaciju.

 

 

Uglavnom, zašto da filozofiramo o tome? Napiši funkciju, pozovi je sto puta kako već želiš i pogledaj - u funkciji si ispiši adresu varijable:

cout << "adresa varijable: " << &i << endl;

E-mail:
Lozinka:
 
vrh stranice