Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- int licznik;
- int co;
- int main()
- {
- char **tab2;
- char *tab;
- int spr[10];
- float t_wyniki[10];
- float wynik;
- float licznik;
- int to_multiply();
- int a, i, j,k,z,m,n,g, liczba_znakow;
- fpos_t d;
- FILE *file;
- file = fopen("zaszyfrowane.txt", "r");
- if (!file)
- return -1;
- tab = ((char*)malloc(1000 * sizeof(char)));
- if (!tab)
- return -2;
- fseek(file, 0, SEEK_END);
- fgetpos(file, &d);
- fseek(file, 0, 0);
- a = (int)d ;
- printf("liczba bitow = %d", a);
- printf("\n");
- fscanf(file, "%s", tab);
- printf("%s", tab);
- printf("\n");
- printf("\n");
- tab2 = ((char**)malloc(100 * sizeof(char*)));
- if (!tab2)
- return -3;
- for (i = 2; i < 10; i++)
- {
- //i = 3;
- n = 0;
- for (j = 0; j < i; j++) // na ile ma dzielić
- {
- printf(": : %d tablica : :\n\n", j + 1);
- tab2[j] = malloc(((a / i) + 1)*sizeof(char)); if (!tab2[j]) return -4;
- for (k = n, m = 0; k <= (a / i), m <= (a / i); k += i, m++)
- tab2[j][m] = tab[k]; //przypisanie co 2 znak
- for (k = 0; k < (a / i) + 1; k++) // wypisanie
- printf("%c", tab2[j][k]);
- printf("\n");
- if (j % 2 == 0) /// sprawdzam czy w tablicy jest parzysta liczba znakow czy nie
- liczba_znakow = k;
- else
- {
- liczba_znakow = k - 1;
- }
- printf("liczba znakow = %d\n", liczba_znakow);
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- g = 0;
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'a')
- g++;
- }
- printf("liczba liter a = %d\t", g);
- licznik = (float)g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'b')
- g++;
- }
- printf("liczba liter b = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'c')
- g++;
- }
- printf("liczba liter c = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'd')
- g++;
- }
- printf("liczba liter d = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'e')
- g++;
- }
- printf("liczba liter e = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'f')
- g++;
- }
- printf("liczba liter f = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'g')
- g++;
- }
- printf("liczba liter g = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'h')
- g++;
- }
- printf("liczba liter h = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'i')
- g++;
- }
- printf("liczba liter i = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'j')
- g++;
- }
- printf("liczba liter j = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'k')
- g++;
- }
- printf("liczba liter k = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'l')
- g++;
- }
- printf("liczba liter l = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'm')
- g++;
- }
- printf("liczba liter m = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'n')
- g++;
- }
- printf("liczba liter n = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'o')
- g++;
- }
- printf("liczba liter o = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'p')
- g++;
- }
- printf("liczba liter p = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'q')
- g++;
- }
- printf("liczba liter q = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'r')
- g++;
- }
- printf("liczba liter r = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 's')
- g++;
- }
- printf("liczba liter s = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 't')
- g++;
- }
- printf("liczba liter t = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'u')
- g++;
- }
- printf("liczba liter u = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'v')
- g++;
- }
- printf("liczba liter v = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'w')
- g++;
- }
- printf("liczba liter w = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'x')
- g++;
- }
- printf("liczba liter x = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'y')
- g++;
- }
- printf("liczba liter y = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- for (k = 0; k < liczba_znakow; k++)
- {
- if (tab2[j][k] == 'z')
- g++;
- }
- printf("liczba liter z = %d\t", g);
- licznik += g*(g - 1);
- printf("aktualnie licznik = %.2f\n", licznik);
- g = 0;
- /////
- printf("licznik = %.2f \n\n", licznik);
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- wynik = (licznik / ((liczba_znakow)*(liczba_znakow - 1)));
- printf("wynik to %f ", wynik);
- printf("\n\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n");
- n++;
- t_wyniki[j] = wynik;
- for (j = 0; j < i; j++)
- free(tab2[j]);
- }
- for (z = 0; z < i; z++){
- printf("%d wynik to: %f\n", z, t_wyniki[z]);
- }
- for (z = 0; z < i; z++){
- if ((t_wyniki[z]) <= 0.075 && (t_wyniki[z]) >= 0.055)
- spr[z] = 1;
- else
- spr[z] = 0;
- }
- for (z = 0; z < i; z++){
- printf("%d\t", spr[z]);
- }
- for (z = 0; z < i; z++){
- if (spr[z] == 1)
- co += 1;
- }
- printf("\n");
- if (co == i){
- printf("klucz jest %d literowy\n", i);
- system("pause");
- return 0;
- }
- else
- printf("klucz nie jest %d literowy\n\n", i);
- free(tab2);
- }
- free(tab);
- fclose(file);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement