Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <malloc.h>
- #include <locale.h>
- #include <math.h>
- // функция для определения простых чисел
- int prov_np(int n) {
- for (int i = 2; i <= sqrt(n); i++) {
- if (n % i == 0) {
- // вывести, что n не простое, так как делится на i
- return 0;
- }
- }
- return 1;
- }
- int main() {
- setlocale(LC_ALL, "rus");
- FILE* fp, rez; // иницилизация
- if (fopen_s(&fp, "arr.bin", "wb") != 0) {
- printf("Ошибка открытия файла!");
- system("pause");
- return 0;
- }
- else {
- // создаем и записываем бинарный файл
- int n = 10;
- int matrix[10] = { 13, 14, 16, 0, 0, 23, 17, 8, 9, 96 };
- printf("Числа:\n");
- for (int i = 0; i < n; i++) {
- printf("%d ", matrix[i]);
- fwrite(&matrix[i], sizeof(int), 1, fp);
- }
- }
- if (fclose(fp) != 0)
- printf("Ошибка закрытия файла");
- if (fopen_s(&fp, "arr.bin", "rb") != 0) {
- printf("Ошибка открытия файла!");
- system("pause");
- return 0;
- }
- int np = 0, n1 = 0, n2 = 0, n0 = 0; // простое. нечет, чет, нуль
- int number[1]; // массив для хранения числа
- while (fread(number, sizeof(int), 1, fp) != 0) { // считываем по не дойдем до конца
- // проверям какое число
- if (number[0] == 0)
- n0++;
- else if (prov_np(number[0]))
- np++;
- else if (number[0] % 2 == 0)
- n2++;
- else
- n1++;
- }
- if (fclose(fp) != 0)
- printf("Ошибка закрытия файла");
- if (fopen_s(&fp, "arr.bin", "wb") != 0) {
- printf("Ошибка открытия файла!");
- system("pause");
- return 0;
- }
- fprintf(fp, "%d %d", np, n1); fprintf(fp, " %d %d", n2, n0); // перезаписываем бинарный файл
- printf( "\nпростых - %d нечетных - %d", np, n1); printf(" четных - %d нулевых - %d", n2, n0);
- if (fclose(fp) != 0)
- printf("Ошибка закрытия файла");
- system("pause");
- return 0;
- }
- /*Дан бинарный файл целых чисел. Создать новый бинарный файл, в
- начале которого записаны четыре числа NП, NН, NЧ, N0 —
- количества чисел из исходного файла, являющихся соответственно
- простыми, нечётными составными, чётными и нулевыми. Далее в
- результирующем файле должны быть сохранены все простые
- числа, все нечётные составные и все чётные числа из исходного
- файла.*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement