Manji od indeksa¶
Autor zadatka: Aleksandra Stamenković <stamenkovic@uns.ac.rs>
Dat je niz A od maksimalno 20 celobrojnih elemenata.
Učitati
n
elemenata i ispisati sve one članove kojima je vrednost manja od njihovog indeksa u nizuIspisati da li ima više parnih elemenata, neparnih elemenata ili ih ima jednak broj
Prebrojati koliko ima negativnih brojeva u nizu u intervalu od indeksa
i1
do indeksai2
(uključujući ii1
ii2
).
Napomene:
Sprovesti zaštitu unosa nad promenljivom
n
Podrazumevati da će korisnik uneti validne vrednosti za
i1
ii2
Primer rada programa:
Ucitati broj elemenata niza: 8
Unesite elemente niza:
Unesite 1. element niza: -2
Unesite 2. element niza: 4
Unesite 3. element niza: 2
Unesite 4. element niza: 7
Unesite 5. element niza: -4
Unesite 6. element niza: -5
Unesite 7. element niza: 8
Unesite 8. element niza: 6
Elementi kojima je vrednost manja od njihovog indeksa u nizu: -2 -4 -5 6
Vise ima parnih elemenata.
Unesite broj I1: 2
Unesite broj I2: 5
Broj negativnih elemenata u intervalu od indeksa 2 do 5 je 2.
Primer rešenja¶
1#include <stdio.h>
2#include <stdlib.h>
3
4#define MAX_ELEMENATA 20
5
6int main()
7{
8 int A[MAX_ELEMENATA];
9 int n, i, brojParnih = 0, brojNeparnih = 0, i1, i2, brojNegativnih = 0;
10
11 do
12 {
13 printf("Ucitati broj elemenata niza: ");
14 scanf("%d", &n);
15 } while((n < 2) || (n > MAX_ELEMENATA)); // n >= 2 && n <= MAX_ELEMENATA
16
17 printf("\nUnesite elemente niza:\n\n");
18 for(i = 0; i < n; i++)
19 {
20 printf("Unesite %d. element niza: ", i + 1);
21 scanf("%d", &A[i]);
22 }
23
24 printf("\nElementi kojima je vrednost manja od njihovog indeksa u nizu: ");
25 for(i = 0; i < n; i++)
26 {
27 if(A[i] < i)
28 printf("%d ", A[i]);
29
30 if(A[i] % 2 == 0)
31 brojParnih++;
32 else
33 brojNeparnih++;
34 }
35
36 if(brojParnih > brojNeparnih)
37 printf("\n\nVise ima parnih elemenata.\n");
38 else if(brojNeparnih > brojParnih)
39 printf("\n\nVise ima neparnih elemenata.\n");
40 else
41 printf("\n\nIma jednako parnih i neparnih elemenata.\n");
42
43 printf("\nUnesite broj I1: ");
44 scanf("%d", &i1);
45
46 printf("Unesite broj I2: ");
47 scanf("%d", &i2);
48
49 for(i = i1; i <= i2; i++)
50 {
51 if(A[i] < 0)
52 brojNegativnih++;
53 }
54
55 printf("\nBroj negativnih elemenata u intervalu od indeksa %d do %d je %d.\n", i1, i2, brojNegativnih);
56
57 return 0;
58}