Ispisati na parnim pozicijama¶
Autor zadatka: Aleksandra Stamenković <stamenkovic@uns.ac.rs>
Dat je niz A od maksimalno 20 celobrojnih elemenata.
Učitati n elemenata, te ispisati elemente koji se nalaze na parnim pozicijama
Naći zbir elemenata niza koji su veći od svog indeksa
Izračunati i ispisati koliki je ostatak pri deljenju maksimalnog elementa u nizu sa minimalnim elementom u nizu
Napomene:
Sprovesti zaštitu unosa nad promenljivom
n
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, zbir = 0, maksimalni, minimalni;
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 koji se nalaze na parnim pozicijama su: ");
25 for(i = 0; i < n; i = i + 2)
26 {
27 printf("%d ", A[i]);
28 }
29
30 for(i = 0; i < n; i++)
31 {
32 if(A[i] > i)
33 zbir = zbir + A[i];
34 }
35
36 printf("\n\nZbir elemenata koji su veci od svog indeksa je: %d\n\n", zbir);
37
38 maksimalni = A[0];
39 minimalni = A[0];
40
41 for(i = 1; i < n; i++)
42 {
43 if(A[i] > maksimalni)
44 maksimalni = A[i];
45 else if(A[i] < minimalni)
46 minimalni = A[i];
47 }
48
49 printf("Ostatak pri deljenju maksimalnog sa minimalnim elementom je: %d", maksimalni % minimalni);
50
51 return 0;
52}