Citat

Autor zadatka: Sanja Špica <sanjaspica@uns.ac.rs>

Dat je niz A od maksimalno 10 celobrojnih elemenata. Učitati n elemenata a zatim:

  1. ispisati sadržaj celokupnog niza

  2. odrediti i ispisati maksimalnu vrednost elementa datog niza, a zatim izracunati fakorijel tog broja

Ograničenja:

  • sprovesti zaštitu unosa nad podatkom n

Dat je niz karaktera B od maksimalno 130 karaktera u koji treba učitati sledeci citat (Fridrih Niče):

"Ko Se Bori Sa Cudovistima, Mora Paziti Da Sam Ne Postane Cudoviste. A Kad Dugo Gledas U Ponor, Ponor Pocne Da Gleda U Tebe."
  1. Prebrojati karaktere datog citata.

  2. Napisati program koji modifikuje dati citat tako što velika slova pretvara u mala i obrnuto.

Primer poziva:

./a.out

Za sledeće ulazne podatke:

Unesite broj elemenata niza (max 10): 5
Unesite A[0]: 4
Unesite A[1]: 2
Unesite A[2]: 5
Unesite A[3]: 7
Unesite A[4]: 5

i očekivani izlaz je u sledećem formatu:

A[0] = 4
A[1] = 2
A[2] = 5
A[3] = 7
A[4] = 5

Maksimalan element niza A je 7, dok je njegov faktorijel 5040.

Broj karaktera datog citata je 123.

kO sE bORI sA cUDOVISTIMA, mORA pAZITI dA sAM nE pOSTANE cUDOVISTE. a kAD dUGO gLEDAS u pONOR, pONOR pOCNE dA gLEDA u tEBE.

Primer rešenja

 1#include <stdio.h>
 2#include<string.h>
 3
 4#define MAX_SIZE 10
 5#define MAX_STRING 151
 6
 7
 8int main() {
 9    int A[MAX_SIZE];
10    int n, max, fak=1;
11
12    do {
13        printf("Unesite broj elemenata niza (max %d): ", MAX_SIZE);
14        scanf("%d", &n);
15    } while(n<2 || n > MAX_SIZE);
16
17    int i;
18    for(i=0; i<n; i++) {
19        printf("Unesite A[%d]: ", i);
20        scanf("%d", &A[i]);
21    }
22
23    printf("\n");
24    for(i=0; i<n; i++) {
25        printf("A[%d] = %d\n", i, A[i]);
26    }
27    max=A[0];
28    for(i=1; i<n; i++){
29        if(A[i]>max){
30            max=A[i];
31        }
32    }
33    for(i = 1; i <= max; i++)
34        fak = fak*i;
35
36    printf("Maksimalan element niza A je %d, dok je njegov faktorijel %d.\n", max, fak);
37
38    char B[MAX_STRING];
39
40    printf("Unesite string: ");
41    __fpurge(stdin);
42    gets(B);
43
44    int br=strlen(B);   
45    printf("Broj karaktera datog citata je %d\n", br);
46
47    i=0;
48    while(B[i] != '\0') {
49        if (B[i] >= 'A' && B[i] <= 'Z'){ 
50            B[i] += 32;
51        }
52        else if (B[i] >= 'a' && B[i] <= 'z'){
53            B[i] -= 32;
54        }
55        i++;
56    }
57    puts(B);
58
59    return 0;
60}