From 281db599942c6a9b79380c59a32472b240fc53a6 Mon Sep 17 00:00:00 2001 From: TigrGrig01 Date: Sun, 1 Dec 2024 19:36:08 +0400 Subject: [PATCH] inOut --- Lab19.cpp | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 Lab19.cpp diff --git a/Lab19.cpp b/Lab19.cpp new file mode 100644 index 0000000..b465cc6 --- /dev/null +++ b/Lab19.cpp @@ -0,0 +1,205 @@ +#include +#include + +void srar(), Load(); +void Psrar(), PLoad(int); +void Psrar3(); +void Z4(); + +int arr[1000]; +int* parr; +int n; + +int main1() { + SetConsoleCP(1251); + SetConsoleOutputCP(1251); + + Load(); + srar(); + + PLoad(0); + Psrar(); + free(parr); + + PLoad(1); + Psrar3(); + free(parr); + + PLoad(2); + Z4(); + free(parr); + + return 0; + +} + +void Load() { + FILE* fin = fopen("C:\\Users\\Home\\OneDrive\\Документы\\Лабораторные ОАиП\\in1.txt", "rt"); + if (fin == NULL) { + printf("Входной файл не найден\n"); + return; + } + + fscanf_s(fin, "%d", &n); + for (int i = 0; i < n; i++) { + fscanf_s(fin, "%d", &arr[i]); + } + + fclose(fin); +} + +void srar() { + float sa = 0; + float s = 0; + for (int i = 0; i < n; i++) { + s += arr[i]; + } + sa = s / n; + + + int m = 0; + for (int i = 0; i < n; i++) { + if (arr[i] > sa) { + m++; + } + } + + FILE* fout = fopen("C:\\Users\\Home\\OneDrive\\Документы\\Лабораторные ОАиП\\out1.txt", "wt"); + if (fout == NULL) { + printf("Выходной файл не найден\n"); + return; + } + + fprintf(fout, "%d\n", m); + for (int i = 0; i < n; i++) { + if (arr[i] > sa) { + fprintf(fout, "%d ", arr[i]); + } + } + + fclose(fout); +} + +void PLoad(int action) { + FILE* fin = NULL; + if (action == 0) { + fopen_s(&fin, "C:\\Users\\Home\\OneDrive\\Документы\\Лабораторные ОАиП\\in2.txt", "rt"); + } + else if (action == 1) { + fopen_s(&fin, "C:\\Users\\Home\\OneDrive\\Документы\\Лабораторные ОАиП\\in3.txt", "rt"); + } + else if (action == 2) { + fopen_s(&fin, "C:\\Users\\Home\\OneDrive\\Документы\\Лабораторные ОАиП\\in4.txt", "rt"); + } + + if (fin == NULL) { + printf("Входной файл не найден\n"); + return; + } + + fscanf_s(fin, "%d", &n); + parr = (int*)malloc(sizeof(int) * n); + + for (int i = 0; i < n; i++) { + fscanf_s(fin, "%d", &parr[i]); + } + + fclose(fin); +} + +void Psrar() { + float sa = 0; + float s = 0; + for (int i = 0; i < n; i++) { + s += parr[i]; + } + sa = s / n; + + int m = 0; + for (int i = 0; i < n; i++) { + if (parr[i] > sa) { + m++; + } + } + + FILE* fout = fopen("C:\\Users\\Home\\OneDrive\\Документы\\Лабораторные ОАиП\\out2.txt", "wt"); + if (fout == NULL) { + printf("Выходной файл не найден\n"); + return; + } + + fprintf(fout, "%d\n", m); + for (int i = 0; i < n; i++) { + if (parr[i] > sa) { + fprintf(fout, "%d ", parr[i]); + } + } + + fclose(fout); +} + +void Psrar3() { + float sa = 0; + float s = 0; + for (int i = 0; i < n; i++) { + s += parr[i]; + } + sa = s / n; + + int m = 0; + for (int i = 0; i < n; i++) { + if (parr[i] < sa && parr[i] > 0) { + m++; + } + } + + FILE* fout = fopen("C:\\Users\\Home\\OneDrive\\Документы\\Лабораторные ОАиП\\out3.txt", "wt"); + if (fout == NULL) { + printf("Выходной файл не найден\n"); + return; + } + + fprintf(fout, "%d\n", m); + for (int i = 0; i < n; i++) { + if (parr[i] < sa && parr[i] > 0) { + fprintf(fout, "%d ", parr[i]); + } + } + + fclose(fout); +} + +void Z4() { + float max = parr[0]; + for (int i = 1; i < n; i++) { + if (parr[i] > max) { + max = parr[i]; + } + } + + float more_then = max * 2 / 3; + + int k = 0; + + for (int i = 0; i < n; i++) { + if (parr[i] >= more_then) { + k++; + } + } + + + FILE* fout = fopen("C:\\Users\\Home\\OneDrive\\Документы\\Лабораторные ОАиП\\out4.txt", "wt"); + if (fout == NULL) { + printf("Выходной файл не найден\n"); + return; + } + + fprintf(fout, "%d\n", k); + for (int i = 0; i < n; i++) { + if (parr[i] >= more_then) { + fprintf(fout, "%d ", parr[i]); + } + } + + fclose(fout); +} \ No newline at end of file