/* * encipher.c * * Copyright 2011 Contest Team 19 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ #include #include int main(int argc, char** argv) { char inputText [10001]; char c; int iterator; int step, j, k, m; char * kruhovy; while (1) { scanf ("%d", &step); if (!step) { break; } iterator = 0; //c = getchar (); // buffer flush while (1) { c = getchar (); if (c == ' ') { continue; } if (c == '\n') { inputText[iterator] = '\0'; break; } if (c >= 97 && c <= 122) // Prevod malych pismen na velke inputText[iterator++] = c - 32; else inputText[iterator++] = c; } kruhovy = (char*)malloc(iterator*sizeof(char)); m = 0; /* for (k = 0; k < iterator / (iterator / step); k ++) { for (j = 0; j < iterator / step; j ++) { kruhovy[j * step + k] = inputText[m]; m ++; } }*/ k = 0; j = 0; if (iterator <= step) { printf("%s\n", inputText); } else { while (m != iterator){ kruhovy[j*step+k] = inputText[m]; //printf("%d -> %c\n", j*step+k, inputText[m]); m++; j++; if (j*step >= iterator){ j = 0; k++; } } printf ("%s\n", kruhovy); } /* if (iterator <= step) { printf("%s\n", inputText); } else { for (i = 0; i < iterator; i++) { kruhovy[(i*step)%iterator] = inputText[i]; } printf("%s\n", kruhovy); } */ } return 0; }