Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <cstdio>
- #include <cstdlib>
- #include <assert.h>
- int * std_in(int* n)
- {
- scanf("%d", n);
- int * arr = (int *)malloc((*n) * sizeof(int));
- for (int i = 0; i < *n; ++i)
- {
- scanf("%d", &arr[i]);
- }
- return arr;
- }
- int * file_in(int* n)
- {
- FILE *file = fopen("bubble_in.txt", "r");
- assert(file);
- fscanf(file, "%d", n);
- int * arr = (int *)malloc((*n) * sizeof(int));
- for (int i = 0; i < *n; ++i)
- {
- fscanf(file, "%d", &arr[i]);
- }
- fclose(file);
- return arr;
- }
- int * generate(int* n)
- {
- (*n) = rand();
- int * arr = (int *)malloc((*n) * sizeof(int));
- for (int i = 0; i < *n; ++i)
- {
- arr[i] = rand();
- }
- return arr;
- }
- void bubble_sort(int *a, int n)
- {
- int t = 0;
- for (int i = 0; i < n; ++i)
- {
- for (int j = 0; j < n - i - 1; ++j)
- {
- if (a[j] > a[j + 1])
- {
- t = a[j];
- a[j] = a[j + 1];
- a[j + 1] = t;
- }
- }
- }
- }
- void std_out(int *n, int *arr)
- {
- for (int i = 0; i < *n; ++i)
- printf("%d ", arr[i]);
- }
- void file_out(int *n, int *arr)
- {
- FILE *file = fopen("bubble_out.txt", "w");
- assert(file);
- for (int i = 0; i < *n; ++i)
- fprintf(file, "%d ", arr[i]);
- fclose(file);
- }
- int main()
- {
- int n = 0;
- int* c = generate(&n);
- bubble_sort(c, n);
- std_out(&n, c);
- int* a = file_in(&n);
- bubble_sort(a, n);
- file_out(&n, a);
- int* b = std_in(&n);
- bubble_sort(b, n);
- std_out(&n, b);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment