Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //создать бинарный файл, записать в него 10 целых чисел и найти количество чисел между минимальнывм и максимальным элементом.
- #include "pch.h"
- #include <iostream>
- #include <stdio.h>
- #include <conio.h>
- #include <stdlib.h>
- #include <string>
- #include <io.h>
- using namespace std;
- void creating_file(char[], FILE *);
- char* fname(char[]);
- void recording_file(char[], int , FILE *);
- int result_file(char[], int, FILE*);
- int main()
- {
- FILE *fl = NULL;
- char name[20];
- int a = 0;
- fname(name);
- creating_file(name, fl);
- recording_file(name, a, fl);
- cout << "amount of elements = " << result_file(name, a, fl) << endl;
- return 0;
- }
- char* fname(char name[]) {
- cout << "Enter is file name : ";
- cin >> name;
- return name;
- }
- void creating_file(char name[], FILE *fl)
- {
- fopen_s(&fl, name, "wb");
- if (fl == NULL)
- {
- cout << "Error with file creating!" << endl; return;
- }
- fclose(fl);
- }
- void recording_file(char name[], int a, FILE *fl)
- {
- fopen_s(&fl, name, "ab");
- if (fl == NULL)
- {
- cout << "Error with file opening!" << endl; return;
- }
- cout << "Enter items : ";
- for (int i = 0; i < 10; i++) {
- cin >> a;
- fwrite(&a, sizeof(int), 1, fl);
- }
- fclose(fl);
- }
- int result_file(char name[], int a, FILE *fl) {
- fopen_s(&fl, name, "rb");
- if (fl == NULL) {
- cout << "Error in opening file." << endl;
- }
- fwrite(&a, sizeof(int), 1, fl);
- int min = a, max = a;
- int mini = 0, maxi = 0;
- for (int i = 1; i < 10; i++) {
- fread(&a, sizeof(int), 1, fl);
- if (a<= min) {
- min = a;
- mini = i;
- }
- else
- if (a >= max) {
- max = a;
- maxi = i;
- }
- }
- int y;
- if (maxi > mini + 1) {
- y = (maxi - mini) - 1;
- }
- else if (maxi < mini - 1) {
- y = (mini - maxi) - 1;
- }
- else y = 0;
- return y;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement