Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <string.h>
- int mujRand(int rozsah) {
- return (rand() * rand()) % rozsah;
- }
- int main()
- {
- srand(time(NULL));
- FILE * soubor = fopen("d:\\temp\\CZ\\CZ.txt", "r");
- if (soubor==NULL) {
- puts("Soubor nelze otevrit");
- return 0;
- }
- printf("Generator krizovek\n");
- fseek(soubor, 0, SEEK_END);
- int velikost = ftell(soubor);
- fseek(soubor, 0, SEEK_SET);
- printf("Velikost=%d\n", velikost);
- char * pole = malloc(velikost);
- if (pole == NULL) {
- puts("Nepodarilo se alokovat tolik pameti..");
- return 0;
- }
- int znak;
- int i=0, radku=0;
- while ((znak=fgetc(soubor))!=EOF) {
- pole[i] = znak;
- if (znak=='\n') radku++;
- i++;
- }
- printf("Nacteno %d radku\n", radku);
- int * indexyRadku = malloc(radku * sizeof (int));
- i=0;
- for (int index=0; index<radku; index++) {
- indexyRadku[index] = i;
- while (pole[i]!='\n') i++;
- pole[i]=0;
- i++;
- }
- char * tajenka = pole + indexyRadku[mujRand(radku)];
- printf("tajenka=%s\n", tajenka);
- for (int i=0; i<strlen(tajenka); i++) {
- char pismeno=tajenka[i];
- char * slovo;
- char * ukPismena;
- do {
- slovo = pole + indexyRadku[mujRand(radku)];
- ukPismena = strchr(slovo, pismeno);
- } while (ukPismena == NULL);
- for (int i=0; i<40-(ukPismena-slovo); i++) putchar(' ');
- for (char *uk=slovo; uk<ukPismena; uk++)
- putchar(*uk);
- printf("|%c|%s\n", pismeno, ukPismena+1);
- }
- fclose(soubor);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement