Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- #include <stdbool.h>
- int main(void)
- {
- int c;
- int predchozi_znak = 0;
- int stejne_znaky = 0; /* nejsou stejne znaky */
- int i = 1; /* pocitadlo */
- int max_i = 9; /* maximum pocitadla na jeden znak */
- while ((c=getchar()) != EOF) {
- if (isdigit(c) && (!isspace(c) || !isprint(c) || !ispunct(c))) /* kontrola znakΕ― */
- {
- fprintf(stderr, "\nText obsahuje nepovolene znaky!");
- return EXIT_FAILURE;
- }
- else if (i == max_i) /* pocitadlo presahlo maximum */
- {
- putchar(i + '0');
- putchar(predchozi_znak);
- i = 1;
- }
- else if (predchozi_znak == c) /* stejne znaky posobe */
- {
- i++;
- stejne_znaky = 1;
- predchozi_znak = c;
- }
- else if ((predchozi_znak != c) && stejne_znaky == 1) /* byly stejne znaky a nasleduje jiny znak */
- {
- putchar(i + '0');
- putchar(predchozi_znak);
- i = 1;
- stejne_znaky = 0;
- predchozi_znak = c;
- }
- else if (predchozi_znak == 0)
- {
- predchozi_znak = c;
- }
- else
- {
- putchar(predchozi_znak);
- predchozi_znak = c;
- }
- }
- if (predchozi_znak != 0)
- {
- if (i == 1)
- {
- putchar(predchozi_znak);
- }
- else
- {
- putchar(i + '0');
- putchar(predchozi_znak);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement