Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Цезар Problem
- Од стаднарден влез се читаат N низи од знаци (стрингови) не подолги од 80 знаци.
- На почетокот на програмата се читаат два цели броеви:
- N - бројот на низи од знаци кои ќе се читаат и
- X - поместување.
- Секоја од вчитаните низи од знаци треба да се трансформира на тој начин што секоја од малите и големите букви (a-z, A-Z)
- се заменува со истата буква поместена X места понапред во азбуката (a-z). Ако се надмине опсегот на буквите во азбуката,
- се продолжува циклично од почетокот на азбуката. Трансформираната низа да се отпечати на СИ.
- Трансформацијата да се имплементира со посебна рекурзивна функција.
- Пример:
- Welcome -> трансформирано со поместување 5 -> Bjqhtrj
- */
- #include <stdio.h>
- #include <stdlib.h>
- void pomesti(char *string, int k, int i) {
- if(string[i] != 0) {
- int f;
- isupper(string[i]) ? (f = 'A') : (f = 'a');
- if(isalpha(string[i])) string[i] = f + ((string[i] - f) + k)%26;
- pomesti(string, k, i+1);
- }
- }
- int main()
- {
- int n, k, i;
- scanf("%d %d", &n, &k);
- char string[81];
- for(i = 0; i <= n; ++i) {
- gets(string);
- pomesti(string, k, 0);
- puts(string);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement