abC primeri - funkcije/kodiranje.c

kodiranje.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <string.h>

// Preprosto kodiranje besedila

// Kodiranje:   vsakemu znaku pristejemo konstanto
// Odkodiranje: vsakemu znaku odstejemo konstanto

// Primer: zamik=3
// Original: A B C D E F G H ... V W X Y Z 
// Kodirano: D E F G H I J K ... Y Z A B C

// Operaciji pristevanja in odstevanja delamo
// po modulu 26 (26 crk abecede)

static int zamik = 3;

void kodiraj(char *niz) {
  int i;
  for(i=0; i<strlen(niz); i++) 
    niz[i] = 'A' + (niz[i] -'A' + zamik) % 26;
}

void odkodiraj(char *niz) {
  int i;
  for(i=0; i<strlen(niz); i++) 
    niz[i] = 'A' + (26 + niz[i] - 'A' - zamik) % 26;
}

    Nazaj...