diff --git a/lab19/lab19/data.txt b/lab19/lab19/data.txt index 6244a1a..60735c2 100644 --- a/lab19/lab19/data.txt +++ b/lab19/lab19/data.txt @@ -1,16 +1,2 @@ -15 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 \ No newline at end of file +30 +5 5 4 4 5 4 0 0 4 2 5 5 1 3 1 5 1 2 3 0 3 0 2 3 4 4 3 2 2 5 \ No newline at end of file diff --git a/lab19/lab19/main.c b/lab19/lab19/main.c index 07bd5fa..b8e62eb 100644 --- a/lab19/lab19/main.c +++ b/lab19/lab19/main.c @@ -9,8 +9,8 @@ void printarr(int arr[], int len) { printf("\b\b]\n"); } -int load(int** parr) { - FILE* file = fopen("data.txt", "r"); +int load(int** parr, char filename[]) { + FILE* file = fopen(filename, "r"); if (file == NULL) { puts("Файл не найден"); exit(EXIT_FAILURE); @@ -29,13 +29,48 @@ int load(int** parr) { fscanf_s(file, "%d", (*parr + i)); } + fclose(file); + return len; } +void save(int arr[], int len, char filename[]) { + FILE* file = fopen(filename, "w"); + if (file == NULL) { + puts("Не удалось создать файл"); + exit(EXIT_FAILURE); + } + + fprintf_s(file, "%d\n", len); + + for (int i = 0; i < len; i++) { + fprintf_s(file, "%d ", arr[i]); + } + + fclose(file); +} + +void saveRandomArray(int len, char filename[]) { + int* parr; + parr = (int*)malloc(sizeof(int) * len); + if (parr == NULL) { + printf_s("Not enough memory to load data\n"); + exit(EXIT_FAILURE); + } + + for (int i = 0; i < len; i++) { + parr[i] = rand() % 6; + } + + save(parr, len, filename); +} + int main() { int* parr; int len; - len = load(&parr); + //saveRandomArray(30, "data.txt"); + len = load(&parr, "data.txt"); + printarr(parr, len); return 0; } \ No newline at end of file