You are on page 1of 14

MENI

Programiranje C++ / HTML / JAVA / ANDROID


Zadaci C++ / HTML / JAVA / ANDROID

KATEGORIJA: C++ ZADACI

C++ ZADACI

C++ Zadatak: Strukture


Posted on Mart 31, 2017

Unijeti broj te podatke o studentima: ime,prezime,godina,prosjek

Ispisati studenta sa najvećim prosjekom.


1 #include <iostream>
2 #include <fstream>
3 using namespace std;
4
5 struct Student {
6 char ime[15], prezime[15];
7 int godina;
8 float prosjek;
9 };
10 int main() {
11 int n;
12 cout << "Unesi broj studenata ";
13 cin >> n;
14 Student studenti[n];
15 for (int i = 0; i < n; i++) {
16 cout << "Unesi ime " << i + 1 << " studenta:";
17 cin >> studenti[i].ime;
18 cout << "Unesi prezime " << i + 1 << " studenta:";
19 cin >> studenti[i].prezime;
20 cout << "Unesi godine " << i + 1 << " studenta:";
21 cin >> studenti[i].godina;
22 cout << "Unesi prosjek " << i + 1 << " studenta:";
23 cin >> studenti[i].prosjek;
24 }
25 int maxIndex = 0;
26 float max = 0;
27 for (int i = 0; i < n; i++) {
28 if (studenti[i].prosjek > max) {
29 max = studenti[i].prosjek;
30 maxIndex = i;
31 }
32 cout << endl;
33 }
34 cout << "Student sa najvecim prosjekom je: " << endl;
35 cout << studenti[maxIndex].ime << " " << studenti[maxIndex].prezime << " "
36 << studenti[maxIndex].godina << " " << studenti[maxIndex].prosjek
37 << endl;
38 system("pause");
39 return 0;
40 }

Report this ad Report this ad


C++ ZADACI

C++ Determinanta Matrice (NxN)


Posted on Mart 27, 2017

Pozdrav!

Danas imam jedan vrlo interesantan zadatak.

U njemu se kaže da korisnik unese matricu dimenzija NxN (kvadratna naravno),

a da mi napišemo program koji će za zadanu matricu izračunati determinantu.

Ovaj naizgled jednostavan zadatak,nije nimalo naivan,jer matrica može biti 2×2 a može biti 10×10.

Ipak,problem se može rješiti uz pomoć metode rekurzije ( Osnove rekurzije(Youtube))

Također nam je potrebno dinamička alokacija memorije (unaprijed ne znamo dimenzije matrice). Dynamic
Allocation

Npr. matrica 6×6:


1 #include<iostream>
2 #include <cmath>
3 using namespace std;
4
5 unsigned long long Determinanta(int **matrica, int n)
6 {
7 int i, j, k, j2;
8 unsigned long long det = 0;
9 int **m;
10
11 if (n == 1) { // 1x1 //
12 det = matrica[0][0];
13 }
14 else if (n == 2) { //2x2//
15 det = matrica[0][0] * matrica[1][1] - matrica[1][0] * matrica[0][1];
16 }
17 else {
18 //kreiranje kofaktora matrice n*n = [n-1,n-1]
19 for (k = 0; k < n; k++) {
20 m = new int*[n - 1];
21 for (i = 0; i < n - 1; i++)
22 m[i] = new int[n - 1];
23 for (i = 1; i < n; i++) {
24 j2 = 0;
25 for (j = 0; j < n; j++) {
26 if (j == k)
27 continue;
28 m[i - 1][j2] = matrica[i][j];
29 j2++;
30 }
31 }
32 //rekurzivno racunanje determinante
33 det = det + pow(-1.0, 1.0 + k + 1.0) * matrica[0][k] * Determinanta(m, n - 1);
34 //oslobadjanje memorije *PREPORUCLJIVO*
35 for (int i = 0; i < n; ++i)
36 delete[] m[i];
37 delete[] m;
38 }
39 }
40 return det;
41 }
42
43 int main()
44 {
45 int n;
46 cout << "Unesite dimneziju matrice n x n (mora biti kvadratna): " << endl; cin >> n;
47 if (n >= 1)
48 {
49 //kreiranje dimanicke matrice
50 int **m = new int*[n];
51 cout << "Unesite elemente matrice " << n << "x" << n << ": " << endl;
52 for (int i = 0; i < n; i++)
53 {
54 m[i] = new int[n];
55 //unosenje elem matrice
56 for (int j = 0; j < n; j++) { cin >> m[i][j];
57 }
58 }
59 //pozivanje nase funkcije
60 unsigned long long det = Determinanta(m, n);
61 cout << "Determinanta matrice je: " << det << endl;
62 //oslobadjanje memorije PREPORUCLJIVO
63 for (int i = 0; i < n; ++i)
64 delete[] m[i];
65 delete[] m;
66 }
67 else
68 {
69 cout << "Greska n ne moze biti < 1 ! " << endl;
70 }
71 system("Pause");
72 return 0;
73 }

Želim posebno da naglasim važnost oslobadjanja memorije jer korištenjem dinamičke memorije i
zanemarivanjem oslobadjanja možemo sebi napraviti gadne probleme!
Na kraju želim da naglasim da ovaj algoritam nisam ja izmislio(naravno),nego sam poznati algoritam
(Laplaceov Razvoj) pokušao pojednostaviti i primjeniti u C++ jeziku

Do idućeg puta,

Pozdrav!

C++ ZADACI

ZADATAK: Matrice
Posted on Mart 19, 2017

Napraviti program Matrice koji korisniku daje opciju da unese matricu te da izvrsi neku od ponuđenih
operacija nad matricom.

1 #include <iostream>
2 using namespace std;
3 int matrica[10][10], matrica2[10][10], C[10][10] = {0};
4 int n;
5 void IspisGornje() {
6 for (int i = 0; i < n; i++) {
7 for (int j = 0; j < n; j++) { // gornji elem 01,02,03..23.. if (j > i) {
8 cout << matrica[i][j] << " ";
9 } else
10 cout << "*"
11 << " ";
12 }
13 cout << endl;
14 }
15 }
16 void Zamijeni() {
17 int clan;
18 for (int i = 0; i < n; i++) {
19 for (int j = 0; j < n; j++) { // elem dijagonale
20 if (i == j) {
21 cout << "Unesi clan " << i << " " << j << endl; cin >> clan;
22 matrica[i][j] = clan;
23 }
24 }
25 cout << endl;
26 }
27 cout << "Zamijenjena: " << endl;
28 for (int i = 0; i < n; i++) {
29 for (int j = 0; j < n; j++) {
30 cout << matrica[i][j] << " ";
31 }
32 cout << endl;
33 }
34 cout << endl;
35 }
35 }
36 void MaxMin() {
37 int max = matrica[0][0];
38 int min = matrica[0][0];
39 for (int i = 0; i < n; i++) {
40 for (int j = 0; j < n; j++) { // trazenje max i min if (matrica[i][j] > max) {
41 max = matrica[i][j];
42 }
43 if (matrica[i][j] < min) {
44 min = matrica[i][j];
45 }
46 }
47 }
48 cout << "Max: " << max << endl;
49 cout << "Min: " << min << endl;
50 cout << endl;
51 }
52 void Pomnozi() {
53 int k, l;
54 for (int i = 0; i < n; i++) {
55 for (int j = 0; j < n; j++) {
56 // mnozenje matrica
57 k = 0, l = 0;
58 while (k < n) {
59 C[i][j] += matrica[i][k] * matrica2[l][j];
60 k++;
61 l++;
62 }
63 }
64 cout << endl;
65 }
66 cout << "A*B " << endl;
67 for (int i = 0; i < n; i++) {
68 for (int j = 0; j < n; j++) {
69 cout << C[i][j] << " ";
70 }
71 cout << endl;
72 }
73 }
74 int main() {
75 char p = 'z';
76 cout << "Unesi dimenziju matrice nxn" << endl; cin >> n;
77 cout << "Unesi matricu:";
78 for (int i = 0; i < n; i++) {
79 for (int j = 0; j < n; j++) { cin >> matrica[i][j];
80 }
81 }
82
83 while (p != 0) { // p char pomocu kojeg biramo opciju
84 cout << "Unesi opciju koju zelite: " << endl;
85 cout << "1-ispisati gornje trougaonu" << endl;
86 cout << "2-zamijeniti elem dijagonale sa novim" << endl;
87 cout << "3-ispisi max i min" << endl;
88 cout << "4-pomnozi matrice" << endl;
89 cout << "0-izlaz" << endl; cin >> p;
90 if (p == '1') {
91 IspisGornje();
92 } else if (p == '2') {
93 Zamijeni();
94 } else if (p == '3') {
95 MaxMin();
96 } else if (p == '4') {
97 cout << "Unesi drugu matricu: ";
98 for (int i = 0; i < n; i++) {
99 for (int j = 0; j < n; j++) { cin >> matrica2[i][j];
100 }
101 }
102 Pomnozi();
103 }
104
105 else if (p == '0')
106 break;
107 }
108 system("pause");
109 return 0;
110 }
C++ ZADACI

Zadatak: Kapitaliziraj
Posted on Februar 24, 2017

1 #include <iostream>
2 #include <string>
3 #include <ctype.h>
4 using namespace std;
5
6 string Kapital(string text)
7 {
8 for (int i = 0; i < text.size() - 1; i++) {
9 if (text[i] == ' ') {
10 char c = text[i + 1];
11 text[i + 1] = toupper(c);
12 }
13 }
14 return text;
15 }
16 int
17 main()
18 {
19 string text;
20 cout << "Unesi string: " << endl;
21 getline(cin, text);
22 cout << "Uredjeni string: " << Kapital(text) << endl;
23 system("Pause");
24 return 0;
25 }
C++ ZADACI

ZADATAK: Pločice!(Ispitni zadatak)


Posted on Februar 12, 2017
1 #include <iostream>
2 using namespace std;
3
4 int Broj_Plocica(double povrsina, double plocica) {
5 // vraca cijeli broj plocica
6 return povrsina / plocica;
7 }
8 int main() {
9 double duz, sir, dimenzija_pl;
10 char p;
11 cout << "Duzina povrsine koja se poplocava[cm]: ";
12 cin >> duz;
13 cout << "Sirina povrsine koja se poplocava[cm]: ";
14 cin >> sir;
15 cout << "Da li zelite da izaberete dimnezije plocice? [d/n]... ";
16 cin >> p;
17 // upit korisnika o vel plocica
18 if (p == 'd') {
19 cout << "Plocice su oblika kvadrata.Navedite duzinu stranice u cm ";
20 cin >> dimenzija_pl;
21 }
22 // zadana dimenzija
23 else {
24 dimenzija_pl = 15;
25 }
26 cout << endl;
27 cout << "Povrsina u cm2 iznosi: " << duz * sir << endl;
28 cout << "Povrsina jedne plocice u cm2 iznosi: " << dimenzija_pl * dimenzija_pl
29 << endl;
30 cout << "Potreban broj plocica iznosi: "
31 << Broj_Plocica(duz * sir * 1.0, dimenzija_pl * dimenzija_pl * 1.0)
32 << endl;
33 cout << endl;
34 system("Pause");
35 return 0;
36 }

C++ ZADACI

Zadatak:Najveći red matrice(Ispitni zadatak)


Posted on Februar 8, 2017
1 #include <iostream>
2 using namespace std;
3 int main() {
4 int N, M;
5 cout << "Unesi dimenzije matrice N i M: ";
6 cin >> N >> M;
7 int matrica[N][M];
8 int max_suma = 0, suma = 0, max_red = 0;
9
10 for (int i = 0; i < N; i++) {
11 suma = 0;
12 for (int j = 0; j < M; j++) {
13 // slučajni broj 1-10,+1 da bi mogao biti i 10
14 matrica[i][j] = rand() % 10 + 1;
15 // dodajemo sumi reda
16 suma += matrica[i][j];
17 cout << matrica[i][j] << " ";
18 }
19 // ako je suma reda veća od zadane najveće,ona postaje najveća
20 // a njen index pamtimo kao index najvece
21 if (suma > max_suma) {
22 max_suma = suma;
23 max_red = i;
24 }
25 cout << endl;
26 }
27 // ispisujemo red sa indexom najvece sume
28 cout << "Najveci zbir ima " << max_red + 1 << " red: " << endl;
29 for (int j = 0; j < M; j++) {
30 cout << matrica[max_red][j] << " ";
31 }
32 cout << endl;
33 system("Pause");
34 return 0;
35 }
C++ ZADACI

Zadatak:Prebrojavanje slova(Ispitni zadatak)


Posted on Februar 5, 2017

Ispravka: Znakova :57

1 #include <iostream>
2 #include <string>
3 #include <cctype>
4 using namespace std;
5 int main() {
6 string recenica;
7 int br_vel = 0, br_mal = 0, br_zn = 0;
8 cout << "Unesi recenicu: " << endl;
9 getline(cin, recenica);
10 // ASCII tabela znakova
11 for (int i = 0; i < recenica.length(); i++) { if (recenica[i] != ' ') { // velika slova ASCII 65-90 if (recenica[i] > 64 && recenica[i] < 9
12 br_mal++;
13 }
14 // ukupan broj znakova
15 br_zn++;
16 }
17 }
18 cout << "Tekst sadrzi: " << endl;
19 cout << "Velikih slova: " << br_vel << endl;
20 cout << "Malih slova: " << br_mal << endl;
21 cout << "Znakova: " << br_zn << endl;
22 system("Pause");
23 return 0;
24 }
Prati Programiranje C++ / HTML / JAVA / ANDROID

Android Tutorial (Video)

00:00 00:00

Meni

C++ Zadaci

Sortiranja

Java Programiranje

Android Development

Uncategorized

O meni

hhusnija

A student,love technology,especially coding and programming.


Hope it will be of some help at least to someone:)
Pregledaj cijeli profil →

Kalendar

April 2018

P U S Č P S N

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30

« mar

Community
Report this ad

Programiranje C++ / HTML / JAVA / ANDROID Powered by WordPress.com.

You might also like