Vjezbe za programiranje

poruka: 7
|
čitano: 29.928
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Vjezbe za programiranje

Znaci, htio bi ako netko ima neki link za nekakve vjezbe programiranja, zanimaju me cisti matematicki problemi i rjesavanje takvih problema, a ne nesto u stilu "napisi hello world" jer nisam bas pocetnik a htio bi malo vidit sebe na tome jer je to vrlo vazan dio konkretnog programiranja. Iskreno nisam puno trazio po googlu, nasao sam nesto, ali to su kvizovi u stilu da mi primjer koda i da ja kazem sta ce ispast, to mi nije "napeto".

 

Prijedlog: 

 

Mogli bi na ovu temu stavljati samo ovakve zadatke, i rjesenja pa da se moze svatko kusat u snalazenju i provjerit ili dati svoj primjer rjesenja, ispricavam se ako ovakva tema vec postoji jer nisam 2 godine bio na forumu pa nisam ni previse upoznat sa temama.

 

 

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Vjezbe za programiranje

Odličan http://projecteuler.net/ je odgovor na tvoje muke.

 

14 godina
neaktivan
offline
Re: Vjezbe za programiranje

Odlicna stranica, hvala !

14 godina
online
Vjezbe za programiranje

Pretpostavljam da ovdje mislis na algoritamske probleme pa preopucujem:

http://ace.delos.com/usacogate

http://www.hsin.hr/honi/arhiva/

http://www.hsin.hr/natjecanja.html

https://www.interviewstreet.com/challenges/

 

Naravno da bi mogao rjesavati ovakve zadatke, moras ipak imati neko teorijsko znanje o algoritmima. Pa preporucujem da prije svega krenesa sa:

http://kusalic.com/book/?p=detalji

 

Twitter- @capttawish Linux/GNU live forever.
Poruka je uređivana zadnji put uto 24.4.2012 19:14 (captain_soap_McTawish).
 
1 0 hvala 0
12 godina
neaktivan
offline
Vjezbe za programiranje

Algoritme je veoma bitno savladati, oni su ti ključni za bilo šta dalje. Zato polako i sa razumjevanjem, linkove si dobio, ako imaš pitanja - izvoli!

 
1 0 hvala 0
12 godina
neaktivan
offline
Vjezbe za programiranje

OSNOVNI ZADACI

1.    Napiši program koji će izračunati i ispisati površinu pravokutnog trokuta ukoliko su poznate njegove katete.
2.    Napiši program koji će nakon unosa dva cijela broja ispisati rezultat četiri računske operacije (+,-,*,/).
3.    Napiši program koji će učitati polumjer kruga, a izračunati i ispisati opseg i površinu.
4.    Napiši program koji će učitati brid kocke, a izračunati i ispisati oplošje i volumen.
5.    Napiši program koji će učitati stranicu jednako-straničnog trokuta, a izračunati i ispisati opseg i površinu.
6.    Napiši program koji će brzinu izraženu u km/h ispisati u m/s.
7.    Napiši program koji će određenu količinu kuna preračunati u EUR-e po zadanom tečaju.
8.    Napiši program koji unosi koordinate točke A(x,y), te ispisuje njenu udaljenost od ishodišta koordinatnog sustava.


UVJETNE NAREDBE

9.    Napiši program koji će za odgovarajuću ocjenu ispisati uspjeh.
10.    Napiši program koji će učitati cijeli broj a ispisati njegovu apsolutnu vrijednost.
11.    Napiši program koji će učitati dva cijela broja i računsku operaciju (+,-,*,/), te ispisuje rezultat odabrane računske operacije sa ta dva broja. Ukoliko je operacija nepoznata ispisati poruku o greški.
12.    Napisati program koji učitava dva broja, ispituje je li prvi broj djeljiv s drugim bez ostatka i ispisuje odgovarajuću poruku. Drugi broj ne smije biti 0.
13.    Napiši program koji će učitati dva realna broja, i ispisati veći od njih.
14.    Napiši program koji će učitati cijeli broj a ispisati da li je paran ili neparan.
15.    Napiši program koji će za zadani troznamenkasti broj provjeriti i ispisati da li mu je suma znamenaka jednaka njihovom umnošku.
16.    Napiši program koji rješava sustav od dvije jednadžbe sa dvije nepoznanice. Program treba ispisati rješenja sustava, ili odgovarajuću poruku ako sustav nije rješiv.


PROGRAMSKE PETLJE

17.    Napiši program koji ispisuje sve prirodne brojeve od 1-N.
18.    Napiši program koji će za sva mala i velika slova engleske abecede ispisati njihove ASCII vrijednosti.
19.    Napiši program koji će ispisati tablicu množenja do 10.
20.    Napiši program koji će izračunati sumu svih parnih brojeva od M-N. (M<N).
21.    Napiši program koji će vršiti unos prirodnih brojeva sve dok se ne unese 0. Program treba ispisati aritmetičku sredinu unesenih brojeva.
22.    Napiši program koji će pomoću samo jedne for petlje ispisati sve prirodne brojeve od 1-N, a potom brojeve od N-1 do 1. Npr. za n=4 program ispisuje 1 2 3 4 3 2 1.
25.    Učitati prirodni broj N, te isto toliko prirodnih brojeva. Program treba ispisati najveći i najmanji od učitanih brojeva.
26.    Napiši program koji će skratiti razlomak a / b. Nakon skraćivanja razlomak je potrebno ispisati.
27.    Napiši program koji će pronaći i ispisati najveći zajednički djelitelj tri cijela broja. Brojeve je potrebno učitati, te ispisati traženi rezultat.
28.    Napisati program koji ispisuje N članova fibbonacijevog niza. Program treba osigurati da je uneseni N u intervalu <2,21>.
29.    Napiši program koji će provjeriti da li je učitani broj prost broj.
30.    Napiši program koji će ispisati sve proste brojeve od 2-N.
31.    Napisati program koji će učitavati cijele brojeve s tipkovnice i postupati prema sljedećem pravilu: ako je učitani broj manji od nule treba ispisati poruku o grešci i prestati sa učitavanjem brojeva. Ako je učitani broj veći od 100 treba ga zanemariti i prijeći na sljedeći broj, a inače ga treba ispisati. Prestati sa učitavanjem kada se učita 0.
32.    Napiši program koji će za zadani N učitati toliki broj pozitivnih vrijednosti i na kraju ispisati njihovu sumu. Ukoliko se unese negativan broj prestati daljnje učitavanje i ispisati trenutnu sumu.


POLJA I POKAZIVAČI

33.    Napiši program koji za cjelobrojno polje n[50] ispisuje koliko elemenata sadrži parne, a koliko neparne vrijednosti. Prethodno je potrebno učitati sve elemente polja.
34.    Učitati prirodan broj n, te ispisati koliko i koji elementi cjelobrojnog polja p[100] sadrže tu vrijednost. Prethodno  je potrebno učitati elemente polja p.
35.    Učitati N brojeva (maks. 100), te ih ispisati obrnutim redoslijedom.
36.    Napiši program koji će učitati rečenicu (maks. 255 znakova), te ispisuje koliko ima malih, a koliko velikih slova engleske abecede.
37.    Napiši program koji će u realnom polju p[25] sve elemente polja podijeliti sa najmanjim elementom u polju. Prethodno  je potrebno učitati elemente polja p.
38.    Napisati program koji će tražiti unos niza brojeva (maks. 100), nakon čega će izračunati aritmetičku sredinu tog niza, te najprije ispisati brojeve manje od aritmetičke sredine, a zatim one koji su veći od aritmetičke sredine.
39.    Napiši program koji će učitati prirodan broj N, i isto toliko elemenata u intervalu [1,100]. Program treba ispisati koliko puta je unesen svaki broj u zadanom intervalu. Ukoliko se unese broj koji nije u zadanom intervalu treba ga zanemariti.
40.    Napiši program koji će učitati prirodan broj N (max. 50) i isto toliko pozitivnih cjelih brojeva. Program učitane brojeve treba ispisati od najmanjeg prema najvećem.
41.    Napiši program koji radi isti posao kao i funkcija strcmpi. Ta funkcija uspoređuje 2 znakovna niza, zanemarujući razliku između velikih i malih slova. Program treba ispisati da li se znakovni nizovi razlikuju.
42.    Napiši program koji će ispisati duljinu određenog znakovnog niza, pretvoriti sva mala slova u velika, a velika u mala, te izračunati i ispisati sumu znamenaka u tom nizu.
43.    Napiši program koji će učitati N (max. 10) znakovnih nizova duljine max. 50 znakova. Nakon unosa, program treba ispisati pojedine nizove tako da ignorira razmake. Npr. za niz: "Ovo je primjer " program treba ispisati "Ovojeprimjer".
44.    Napiši program koji unosi maksimalno 10 znakovnih nizova maksimalne duljine 100 znakova. Program treba ispisati nizove u obrnutom redoslijedu znakova.
45.    Napiši program koji učitava elemente cjelobrojne kvadratne matrice 3x3, te ispisuje sumu svih elemenata te matrice.
46.    Napiši program koji će, nakon što učita sve element cjelobrojne matrice 4x4 ispisati pojedine sume svakog retka i pojedine sume svakog stupca matrice.
47.    Napiši program koji ispisuje aritmetičku sredinu elemenata sporedne dijagonale matrice 3x3. Vrijednosti elemenata matrice je prethodno potrebno unijeti.
48.    Napiši program koji će ispisati sve elemente polja n (max. 50 elemenata) koristeći aritmetiku pokazivača. Elemente polja je prethodno potrebno učitati.
49.    Napiši program koji će uz minimalan utrošak memorije kreirati i popuniti cjelobrojno polje P sa parnim brojevima u intervalu [2,M]. Polje treba biti sortirano po uzlaznoj vrijednosti svojih elemenata.
50.    Napiši program koji će učitati prirodan broj N. Program treba generirati isto toliko slučajnih brojeva u intervalu [0,99], te ih ispisati od najmanjeg prema najvećem.
51.    Napiši program koji će slučajnim redoslijedom ispisati sve brojeve od 1 do N. Niti jedan broj u zadanom intervalu [1,N] ne smije biti ispisan dva ili više puta.
52.    Napiši program koji će učitati broj stupaca i broj redaka neke realne matrice. Matrica je realizirana pomoću 1D polja, a program za nju treba zauzeti potrebnu količinu memorije. Matricu je potrebno ispisati nakon što se popuni popuniti slučajnim (random) vrijednostima u intervalu [1,9].
53.    Napiši program koji pomoću operatora new u memoriji zauzima mjesta za matricu MxN. Matrica je realizirana pomoću 2D polja.


FUNKCIJE

54.    Napiši funkciju koja ispisuje sve parne brojeve od 2 do N. Prototip funkcije:
void paran(int N);
55.    Napiši funkciju koja ispisuje aritmetički niz od člana A do člana B sa razmakom D. Prototip funkcije glasi:
    void niz(int a, int b, int d);
56.    Napiši funkciju koja vraća sumu 2 realna broja. Prototip funkcije:
    float suma(float a, float b);
57.    Napiši funkciju koja će za zadani interval brojeva vratiti koliko ih je djeljivo sa N.
    int djeljivo(int a, int b, int n);
58.    Napiši funkciju koja će malo slovo engleske abecede pretvoriti u veliko, a veliko u malo. Funkcija vraća promijenjeno slovo. Ukoliko nije riječ o znaku engleske abecede funkcija vraća 0. Prototip funkcije:
char slovo(char c);
59.    Napiši funkciju koja vraća faktorijel određenog broja. Prototip funkcije:
double faktorijel(int n);
60.    Napiši funkciju koja vraća vrijednost najvećeg elementa u polju. Prototip funkcije glasi:
long najveci(long p[], int n);
61.    Napiši funkciju koja vraća duljinu zadanog niza znakova. Prototip funkcije glasi:
int duljina(char niz[]);
62.    Napiši funkciju koja vraća broj samoglasnika koji se nalazi u nekom znakovnom nizu. Prototip funkcije glasi:
int samoglasnik(char niz[]);
63.    Napiši funkciju koja će sve pozitivne elemente nekog realnog polja M kopirati u drugo realno polje N. U polju N vrijednosti moraju biti sadržane u susjednim elementima. Funkcija vraća broj kopiranih elemenata. Ukoliko polje N ima deklarirano manje elemenata nego polje M, funkcija vraća 0. Prototip funkcije glasi:
int kopiraj(float M[], int m, float N[], int n);
64.    Napiši funkciju koja će za jedno cjelobrojno 1D polje sa poznatim brojem elemenata vratiti broj elemenata u kojima se nalaze parni brojevi. Prototip funkcije:
int paran(int polje[], int br_elem);
65.    Napiši rekurzivnu funkciju koja će ispisati sve brojeve od N do 1. Prototip funkcije glasi:
int brojevi(int n);
66.    Napiši rekurzivnu funkciju koja računa sumu aritmetičkog niza od člana A do člana B sa razmakom D. Niz mora biti uzlazni (A < B), inače funkcija vraća 0. Prototip funkcije glasi:
int suma(int a, int b, int d);
67.    Napiši funkciju koja zamjenjuje sadržaj dvaju znakovnih varijabli. Prototip funkcije glasi:
void zamjeni(char* a, char* b);
68.    Napisati funkciju koja izračunava sumu znamenaka (0-9) u zadanom nizu znakova. Ukoliko u nizu nema niti jedne znamenke, funkcija vraća  0. Npr. za niz znakova “xy52g4” funkcija vraća 11. Prototip funkcije glasi:
int sumaznam (char *niz);
69.    Napiši funkciju koja će za zadani znakovni niz vratiti broj znamenaka i broj znakova engleske abecede. Prototip funkcije glasi:
void analiza(char* niz, int* broj, int* znak);
70.    Napiši funkciju koja će preko svoje povratne vrijednosti vratiti određeni znakovni niz u obrnutom redoslijedu znakova. Prototip funkcije:
char* reverse(char* niz);
71.    Napiši funkciju koja će realnu matricu prekopirati u cjelobrojnu matricu na način da se ignoriraju znamenke poslije decimalne točke (gledati samo cjelobrojni dio). Funkcija treba vratiti pokazivač na novu cjelobrojnu matricu ukoliko uspješno obavi kopiranje, a ukoliko ne, treba vratiti NULL pokazivač. Prototip funkcije glasi:
int* mat(float* polje, int redak, int stupac);
72.    Napiši funkciju koja će zamijeniti pokazivanje dvaju pokazivača cjelobrojnog tipa. Treba napisati i glavni program koji će provjeriti da li je funkcija uspješno obavila svoj posao. Prototip funkcije glasi:
void promjeni(int** x, int** y);
73.    Napiši program koji će ispisati sve navedene argumente u komandnoj liniji.
74.    Napiši program koji ispisuje aritmetički niz od A do B sa razmakom D. Program sve podatke mora dobiti preko komandne linije.

DATOTEKE

75.    Napiši program koji će ispisati koliko bajtova sadrži određena datoteka.
76.    Napiši program koji će ispisati sadržaj datoteke onako kako je on zapisan u datoteci.
77.    Napiši program koji će pretražiti neku slijednu formatiranu datoteku i ispisati na kojim adresama se u njoj nalazi zadana riječ. Riječ se unosi preko tipkovnice.
78.    Napiši program koji će ispisati koji je najčešće korišten znak (slovo) engleske abecede u nekoj slijednoj formatiranoj datoteci. Ukoliko ih ima više potrebno ih je sve ispisati.
79.    Napiši funkciju koja će pročitati sve znamenke koje se nalaze u nekoj slijednoj formatiranoj datoteci i zapisati ih u drugu takvu datoteku. Ulazna datoteka može sadržavati i tekst. Funkcija treba vratiti broj pročitanih znamenaka ili nulu ako se datoteka ne može otvoriti. Napisati i glavni program u kojem se poziva funkcija.
80.    U slijednoj formatiranoj datoteci podaci.txt se nalaze podaci o nekoj obitelji. Prvi podatak u datoteci je broj zapisa sljedećeg oblika: Ime (25+1), Prezime(25+1), Godine (int). Napiši funkciju koja će vratiti prosječnu starost članova obitelji. Ako nije moguće otvoriti datoteku funkcija vraća 0. Napisati i glavni program koji poziva funkciju.
81.    Napiši program koji će slučajnim odabirom karata podijeliti 52 karte dvojici igrača. U svakom dijeljenju svaki igrač prima po četiri karte. Program treba ispisati koje će karte biti podijeljene prilikom svakog dijeljenja, te tu informaciju zapisati u slijednu formatiranu datoteku karte.txt.
82.    Napiši program koji će ispisati sadržaj određene datoteke obrnutim redoslijedom (od kraja prema početku datoteke).
83.    U direktnu neformatiranu datoteku podaci.txt se spremaju podaci o stanju skladišta neke tvrtke. Struktura zapisa je sljedeća: Ime artikla (30+1), Proizvođač (30+1), Količina (long). Treba napisati program koji zapisuje N zapisa u datoteku, a zatim ispisuje sve zapise u datoteci. Koliko iznosi veličina datoteke ako je bila prazna a dodana su 2 zapisa?
84.    U određenoj direktnoj neformatiranoj datoteci se nalaze podaci o učenicima nekog razreda. Struktura zapisa je sljedeća: Ime (25+1), Prezime (25+1), Uspjeh (int). Treba napisati funkciju koja će svim učenicima sa ocjenom 1 ispraviti ocjenu na 2 :). Funkcija vraća broj ispravljenih ocjena. Ako nema negativnih ocjena (jedinica) ili ako se datoteka ne može otvoriti funkcija treba vratiti nulu.
85.    Treba napisati program koji čita podatke o članovima neke videoteke. Struktura zapisa je sljedeća: Ime (25+1), Prezime(25+1), Broj posuđenih filmova (int), Posuđeni filmovi (maks. [10][50]). Članovi su u datoteci raspoređeni po rednim brojevima. Program treba za određeni redni broj ispisati sve informacije o članu pod tim brojem. Podaci su zapisani u direktnoj neformatiranoj datoteci video.dat.
86.    Napiši program koji kopira jednu datoteku u drugu. Druga datoteka je prazna. Program treba osigurati od grešaka pri čitanju (iz izvorne datoteke) i pisanju (u odredišnu datoteku). Program sve podatke dobiva preko komandne linije.

Moj PC  
7 0 hvala 7
14 godina
neaktivan
offline
Re: Vjezbe za programiranje
captain_soap_McTawish kaže...

 

Naravno da bi mogao rjesavati ovakve zadatke, moras ipak imati neko teorijsko znanje o algoritmima. Pa preporucujem da prije svega krenesa sa:

http://kusalic.com/book/?p=detalji

 

Citam ja The Art Of Computer Programming

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice