/* 29.Загадать случайным образом 100 чисел в диапазоне [-50;75]. Записать их в файл «binint.dat» - каждое число записывается в файл в 4-х байтном представлении. Прочитать данные из файла «binint.dat», найти сумму чисел в нём. */ #include #include #include #include const int MIN = -50; const int MAX = 75; const int AMOUNT = 100; int* getRandomArray() { srand(time(0)); int *array = malloc(sizeof(int)*AMOUNT); for (int i = 0; i < AMOUNT;i++) { array[i] = rand() % (abs(MIN) + abs(MAX) + 1) - abs(MIN); } return array; } void writeData(char* filename) { FILE *file = fopen(filename, "wb"); int *array = getRandomArray(); for (int i = 0; i < AMOUNT; i++) { fwrite(&array[i], sizeof(int), 1, file); } fclose(file); } int getSummaryNumbers(char* filename) { FILE *file = fopen(filename, "rb"); int number, summary = 0; while(fread(&number, sizeof(int), 1, file) == 1) { summary += number; } fclose(file); return summary; } int main() { char *filename = "binint.dat"; writeData(filename); printf("Summary: %d", getSummaryNumbers(filename)); return 0; }