Files
2023-09-11 17:15:34 +03:00

71 lines
1.8 KiB
C

#include "head.h"
int main(int argc, char* argv[]) {
srand(time(0));
Book* books1 = malloc(sizeof(Book) * N);
Book* books2 = malloc(sizeof(Book) * N);
if (books1 == NULL || books2 == NULL) {
printf("could not malloc\n");
exit(1);
}
st_rand(books1, N);
st_rand(books2, N);
printf("First array:\n");
st_print(books1, N);
printf("\nSecond array:\n");
st_print(books2, N);
selection_sort(books1, N);
selection_sort(books2, N);
printf("\nFirst array after sort:\n");
st_print(books1, N);
printf("\nSecond array after sort:\n");
st_print(books2, N);
Book* res = bin_search(books1, N, 15);
if (res == NULL)
printf("\nNo such book\n");
else
printf("\nLength: %2d; name: %s\n", res->len, res->name);
printf("\nElement in first array: ");
pst(books1, N, (int)(N * 0.7));
printf("Element in second array: ");
pst(books2, N, (int)(N * 0.3));
printf("\nNumber of pairs (easy realization): %d\n", find_pairs_easy(books1, N, books2, N));
printf("Number of pairs (advanced realization): %d\n", find_pairs_advanced(books1, N, books2, N));
st_fprintf(books1, N, "books.txt", "w");
st_fprintf(books2, N, "books.txt", "a");
int line_number = lines_numf("books.txt");
printf("\nNumber of lines in books.txt is %d\n", line_number);
Book* books3 = malloc(sizeof(Book) * line_number);
if (books3 == NULL) {
printf("could not malloc\n");
free(books1);
free(books2);
exit(1);
}
st_fscanf(books3, line_number, "books.txt");
selection_sort(books3, line_number);
printf("\nThird array is:\n");
st_print(books3, line_number);
free(books1);
free(books2);
free(books3);
return 0;
}