Potrebno je učitati kvadratnu matricu cijelih brojeva (najviše 10x10). Pozivom na funkciju prototipa int Naj (int [][10], int); potrebno je pronaći stupac koji ima najveći zbroj članova. Funkcija za argumente prima adresu prvog člana matrice, veličinu i kvadratne matrice i vraća cjelobrojnu vrijednost. U glavnoj funkciji ispisati najveći zbroj i sve članove stupca s najvećim zbrojem podijeljene s awritmetičkom sredinom glavne dijagonale. #include #include #include int Naj(int [][10],int); int main(){ int mat[10][10]; int i,j,n; int max_suma=0; int max_stupac=0; double aritm=0; printf("Unesi broj stupaca i redaka kvadratne matrice: "); scanf("%d",&n); printf("nUnesi elemente matricen"); for(i=0;i=suma_prvi){ suma_prvi=suma; max_idx=j; } suma=0; } return max_idx; } ------------------------------------------------------------------------------------------ Napisati program koji će korisnik sa standardnog ulaza učitati rečenicu. U programu je potrebno prebrojiti koliko u rečenici ima riječi (jedan ili više razmaka mogu odvajati dvije riječi). Unos rečenice i ispis rezultata obaviti u glavnoj funkciji. Brojanje riječi obaviti pozivom funkcije prototipa void Prebroji(char recenica[], int *);, koja za argumente prima adresu prvog član znakovnog članznakovnog niza i adresu brojača. #include #include #include #include void prebroji(char[] ,int *); int main(){ int br,n; char recenica[256]; printf("Unos recenice:"); fgets(recenica,256,stdin ); printf("%s",recenica); prebroji(recenica,&br;); printf("Broj rijeci u recenici je: %d", br); return 0; } void prebroji(char recenica[],int *br){ int i; int br_r=0; int duljina; char preth_zn; duljina=strlen(recenica); if(duljina==0){ *br=0; return; } preth_zn=recenica[0]; for(i=0;i #define MAX 20 void Slozi(int *, int, int(*)(int, int)); int JestManjiOd(int, int); int JestVeciOd(int, int); int main() { int niz[MAX], i, n; int sort; printf("unesite broj clanova niza: "); scanf("%d", &n); for (i = 0; i < n; i++) { printf("unesite %d. clan: ", i + 1); scanf("%d", &niz;[i]); } printf("nOdaberite nacin sortiranja: 1 - po rastucoj vrijednosti, 2 - po padajucoj vrijednosti: "); scanf("%d", &sort;); if (sort == 1) Slozi(niz, n, JestManjiOd); else if (sort == 2) Slozi(niz, n, JestVeciOd); else { printf("ngreskan"); return -1; } printf("slozeni niz: n"); for (i = 0; i < n; i++) { printf("%dn", niz[i]); } return 0; } void Slozi(int *x, int n, int(*sort)(int, int)) { int i, j, temp; for (i = 0; i < n - 1; i++) for (j = i + 1; j < n; j++) { if ((*sort)(x[i], x[j])) { temp = x[i]; x[i] = x[j]; x[j] = temp; } } return; } int JestManjiOd(int a, int b) { if (a < b) return 0; else return 1; } int JestVeciOd(int a, int b) { if (a > b) return 0; else return 1; } ------------------------------------------------------------------------------------------ Napisati program u kojem će korisnik sa standardnog ulaza učitati niz od 5 prirodnih brojeva. U programu je izračunati harmonijsku sredinu unesenog niza i ispisati je na standardni izlaz u glavnoj funkciji. Harmonijsku sredinu izračunati pozivom funkcije prototipa double harm_sred(int *, int); koja za argumente prima adresu prvog člana učitanog niza i broj članova u nizu. Funkcija vraća iznos harmonijske sredine. Harmonijska sredina (H) nekog niza brojeva x1,x2,…,xn zadana je sa: H = n / n suma i=1 * 1/xi , xi>0 Rečenično iskazano, harmonijska sredina niza brojeva jest recipročna vrijednost aritmetičke sredine recipročnih vrijednosti tog niza. #include #include double HarmSredina(int *, int); int main(){ int i; int a[5]; double sredina; for (i = 0; i < 5; ++i){ printf("%d. broj: ", i+1); scanf("%d", &a[i]); if (a[i] <= 0){ --i; continue; } } sredina = HarmSredina(a, 5); printf("Harmonijska sredina: %lf.n", sredina); return 0; } double HarmSredina(int a[], int n){ int i; double sred = 0; for (i = 0; i < n; ++i) sred += 1.0/a[i]; return n/sred; } ------------------------------------------------------------------------------------------ Potrebno je napisati program u kojem se sa standardnog ulaza učitava niz od deset cijelih brojeva. U programu je potrebno izračunati i ispisati na standardni izlaz aritmetičku i geometrijsku sredinu unesenog niza. Računanje aritmetičke i geometrijske sredine napraviti u funkciji prototipa void Izracunajsredinu (int *, int, int *, int *); koja za argumente prima adresu prvog člana niza, broj članova niza te adrese varijabli vrijednosti sredina koje treba izračunati. • Aritmetička sredina: A= • Geometrijska sredina: G= #include #include #include #define MAX 10 void IzracunajSredinu(int *, int, double *, double *); int main() { int a[MAX], i; double artm_sred, geom_sred; printf("Unesite 10 brojeva:"); for (i = 0;i #include #include #define MAX 6 int Zbroji(int[],int); int main() { int i, a[MAX],n; printf("Unesite 5 cjelobrojnih vrijednosti:n"); for (i=0; i #include #include void Provjera(int[], int[], int n); int rand_ab(int, int); int main() { unsigned seed = time(0); srand(seed); int pitanja[20], odgovori[20], i, n; printf("koliko ste pitanja naucili?"); scanf("%d", &n); printf("Unesite redne brojeve pitanja koje je student naucio: n"); for (i = 0;i < n;i++) scanf("%d", &odgovori;[i]); for (i = 0; i < 8; i++) { pitanja[i] = rand_ab(1, 20); } printf("Pitanja na testu: "); for (i = 0; i < 8; i++) { printf("%d. ", pitanja[i]); } Provjera(pitanja, odgovori, n); return 0; } int rand_ab(int min, int max) { int bm = max - min + 1; int gr = RAND_MAX - (RAND_MAX % bm); int rnd = rand(); while (rnd>gr) rnd = rand(); return (rnd%bm) + min; } void Provjera(int p[], int o[], int n) { int i, j, br = 0; for (i = 0; i < n; i++) for (j = 0; j < 8; j++) { if (o[i] == p[j]) br++; } if (br < 4) printf("nStudent nije polozio"); else if (br >= 4) printf("nStudent je polozio."); return; } ------------------------------------------------------------------------------------------ #include #include #define M 3 #define N 3 double Ars(int[][N], int, int); int main() { int i, j; int a[M][N]; float sredina; for (i = 0;i #include #include int prebroj(char* ,int*); int main() { char a[50]; int nova_d; char *p; int i,n; printf("Unesite clanove niza: "); scanf(" %s", a); nova_d=prebroj(a,&n); printf("Broj znakova unesenog niza: %dn",n); printf("Broj clanova manjih od 83 prema ASCII tablici:%dn",nova_d); p=(char*)malloc(nova_d*sizeof(char)); printf("Clanovi niza koji imaju ASCII vrijednost manju od 83 su:"); int j=0; for(i=0;i #include #include void ispis_znakova(char*,int,int(*)(char)); int JestSamoglasnik(char ); int JestSuglasnik(char ); int main(){ char c[3]; char *niz; int n=0; niz=(char*)malloc(n*sizeof(char)); while (1) { fgets(c, sizeof(c), stdin); if(c[0]=='n'){ break; } n++; niz=(char*)realloc(niz,n); niz[n-1]=c[0]; } printf("Samoglasnici su:"); ispis_znakova(niz,n,JestSamoglasnik); printf("n"); printf("Suglasnici su:"); ispis_znakova(niz,n,JestSuglasnik); return 0; } void ispis_znakova(char*niz,int n,int(*f)(char)){ int i; for(i=0;i #include int jest_prost(int); int main() { int i,n; int* niz; printf("Unesi broj clanova polja: "); scanf(" %d",&n); niz = (int*)malloc(n * sizeof(int)); printf("Unesi clanove niza: "); for(i=0;i #include void fibonacci(int*, int); int main() { int i; int n=10; int niz[n]; fibonacci(niz,10); for(i=0;i #include int Prebroji(char[]); int main () { char recenica[80]; printf("Unesite recenicu do 80 znakova:"); scanf(" %[^n]",&recenica;); printf("Broj rijeci u recenici je: %d",Prebroji(recenica)); return 0; } int Prebroji(char recenica[]) { int br_rijeci=1; // zato jer ne bi brojalo zadnju rijec jer ne stavimo razmak nakon rijeci char prethodniznak; int i, duljina; duljina=strlen(recenica); if (duljina>0) prethodniznak=recenica[0]; for(i=0;i