Ubaci veće od prethodnika¶
Autor zadatka: Andrea Sabo Cibolja <andrea_saboc@uns.ac.rs>
Unosom sa tastature zadat je niz M od maksimalno 30 celobrojnih elemenata. Učitati n elemenata u
niz M.
U niz
Atreba ubaciti sve članove nizaM, počevši od drugog, a koji su veći od svog prethodnika.Za niz
Mje neophodno izračunati njegovu srednju vrednost.Formirati niz
Btako da se sastoji od elemenata nizaMkoji su veći od srednje vrednosti nizaM
Na izlazu ispisati nizove A i B i srednju vrednost niza M zaokruženu na 3 decimale.
Primer rada programa:
Unesite broj elemenata niza M (broj elemenata ne sme da prelazi 30): 7
Unesite elemente niza:
M[0]=1
M[1]=2
M[2]=6
M[3]=3
M[4]=6
M[5]=23
M[6]=45
A=[2, 6, 6, 23, 45]
B=[23, 45]
Srednja vrednost niza M je: 12.286
Primer rešenja¶
1#include <stdio.h>
2#define MAX_SIZE 30
3
4int main(){
5 int M[MAX_SIZE], A[MAX_SIZE], B[MAX_SIZE];
6 int n, i, brElA=0, brElB=0, sumaSvih =0;
7 double srVrednost;
8
9 do{
10printf("Unesite broj elemenata niza M (broj elemenata ne sme da prelazi 30): ");
11scanf("%d", &n);
12}while(n<0 || n>MAX_SIZE);
13
14printf("\nUnesite elemente niza:\n");
15for(i=0; i<n; i++){
16 printf("M[%d]=",i);
17 scanf("%d", &M[i]);
18}
19
20for(i=1; i<n; i++){
21 if(M[i]>M[i-1]){
22 A[brElA]=M[i];
23 brElA++;
24 }
25}
26
27for(i=0; i<n; i++){
28 sumaSvih+=M[i];
29}
30
31srVrednost=(double)sumaSvih/n;
32
33for(i=0; i<n; i++){
34 if(M[i]>srVrednost){
35 B[brElB]=M[i];
36 brElB++;
37 }
38}
39
40printf("\nA=[");
41for(i=0; i<brElA; i++){
42 if(i>0){
43 printf(", ");
44 }
45 printf("%d", A[i]);
46}
47printf("]\n");
48
49printf("B=[");
50for(i=0; i<brElB; i++){
51 if(i>0){
52 printf(", ");
53 }
54 printf("%d", B[i]);
55}
56printf("]\n\n");
57
58printf("Srednja vrednost niza M je: %.3lf\n", srVrednost);
59
60return 0;
61
62}