forked from hanascodes/Programiranje-1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGrupa A - Zadatak 04.cpp
98 lines (78 loc) · 1.84 KB
/
Grupa A - Zadatak 04.cpp
1
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <iostream>
using namespace std;
struct uposlenik
{
char *ID;
char *imePrezime;
float *plata;
};
void Unos(uposlenik &u)
{
int velicina;
cin.ignore();
cout << "Unesite ID: ";
char ID[6];
cin.getline(ID, sizeof ID);
velicina = sizeof ID + 1;
u.ID = new char[velicina];
strcpy_s(u.ID, velicina, ID);
cout << "Unesite ime i prezime: ";
char imePrezime[32];
cin.getline(imePrezime, sizeof imePrezime);
velicina = sizeof imePrezime + 1;
u.imePrezime = new char[velicina];
strcpy_s(u.imePrezime, velicina, imePrezime);
cout << "Unesite platu: ";
u.plata = new float;
cin >> *u.plata;
}
void Ispis(const uposlenik &u)
{
cout << u.ID << " " << u.imePrezime << " " << *u.plata << endl;
}
void Dealociraj(uposlenik &u)
{
delete[] u.ID; u.ID = nullptr;
delete[] u.imePrezime; u.imePrezime = nullptr;
delete u.plata; u.plata = nullptr;
}
void MaxProsjekPlata(uposlenik **matrica, int n, int m)
{
float *prosjek = new float[n] {0};
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
prosjek[i] += *matrica[i][j].plata;
prosjek[i] /= m;
}
int maxIndeks = 0;
for (int i = 1; i < n; i++)
if (prosjek[i] > prosjek[maxIndeks])
maxIndeks = i;
cout << "Odjel " << maxIndeks << " ima najvecu prosjecnu platu: " << prosjek[maxIndeks];
delete[] prosjek;
}
int main()
{
int n, m;
while (cout << "Unesite dimenzije: ", cin >> n >> m, n <= 0 || m <= 0);
uposlenik **matrica = new uposlenik*[n];
for (int i = 0; i < n; i++)
matrica[i] = new uposlenik[m];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
Unos(matrica[i][j]);
/*for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
Ispis(matrica[i][j]);*/
MaxProsjekPlata(matrica, n, m);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
Dealociraj(matrica[i][j]);
delete[] matrica[i];
}
delete[] matrica;
system("pause>0");
return 0;
}