Ispisati na parnim pozicijama

Autor zadatka: Aleksandra Stamenković <stamenkovic@uns.ac.rs>

Dat je niz A od maksimalno 20 celobrojnih elemenata.

  1. Učitati n elemenata, te ispisati elemente koji se nalaze na parnim pozicijama

  2. Naći zbir elemenata niza koji su veći od svog indeksa

  3. 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}