C/C++

Помогите разобраться в массивах С++

Заданы массивы A(2), B(3) и C(4). Найти максимальное из трёх чисел х, у, z, где х –
минимальный элемент массива A; у - минимальный элемент массива B; z - минимальный элемент
массива С. Ввод элементов массива и поиск минимального элемента массивов оформить в виде
подпрограмм. Числа x, y, z и вычисленное максимальное значение записать во внешний текстовый файл.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int A[2],B[3],C[4],MinX=0,MinY=0,MinZ=0;
void MakeArrays(int limit)
{
int i;
srand(time(NULL));
printf("\nLimits of random digits in arrays is [0...%d]\n\n",limit);

for(i=0;i<2;i++) A[i]=random()%(limit+1);
for(i=0;i<3;i++) B[i]=random()%(limit+1);
for(i=0;i<4;i++) C[i]=random()%(limit+1);

for(i=0;i<2;i++) printf("A[%d]=%d, ",i,A[i]);
printf("\n\n");
for(i=0;i<3;i++) printf("B[%d]=%d, ",i,B[i]);
printf("\n\n");
for(i=0;i<4;i++) printf("C[%d]=%d, ",i,C[i]);
}

void Minimum(int* x, int*y, int* z)
{
int i; FILE *fout;
int Max=0;
*x=A[0]; if(*x>A[1]) *x=A[1];
*y=B[0]; for(i=1;i<3;i++) if(*y>B[i]) *y=B[i];
*z=C[0]; for(i=1;i<4;i++) if(*z>C[i]) *z=C[i];

printf("\n\n In A[2] Minimum x = %d",*x);
printf("\n In B[3] Minimum y = %d",*y);
printf("\n In C[4] Minimum z = %d",*z);

if(*x>*y && *x>*z) Max=*x;
if(*y>*x && *y>*z) Max=*y;
if(*z>*y && *z>*x) Max=*z;

fout = fopen("XYZ.txt", "w+t");
if(fout)
{
fprintf(fout,"x=%d, y=%d, z=%d, Max=%d",*x,*y,*z,Max);
fclose(fout);
printf("\n\nFile is saved as XYZ.txt\n\n\n");
}
}

int main()
{
MakeArrays(100);
Minimum(&MinX,&MinY,&MinZ);

return 0;}

Миннутдинов Рустам
Миннутдинов Рустам
37 945
Лучший ответ
Дмитрий Деменин Спасибо БОЛЬШОЕ. Очень, очень помогли.
#include <iostream>
#include <fstream>
using namespace std;
void input(int* box, size_t n) {
cout << "Введите массив из " << n << " чисел: ";
for (auto i = 0U; i < n; ++i) cin >> box[i];
}
int min(int* box, size_t n) {
auto mn = box[0];
for (auto i = 1U; i < n; ++i) if (box[i] < mn) mn = box[i];
return mn;
}
int main() {
system("chcp 1251 > nul");
int a[2], b[3], c[4];
input(a, size(a));
input(b, size(b));
input(c, size(c));
auto mna = min(a, size(a));
auto mnb = min(b, size(b));
auto mnc = min(c, size(c));
auto mx = (mna > mnb) ? (mna > mnc) ? mna : mnc : (mnb > mnc) ? mnb : mnc;
ofstream file("external.txt");
if (file.is_open()) {
file << mna << ' ' << mnb << ' ' << mnc << '\n' << mx << '\n';
file.close();
} else puts("Файл \"external.txt\" не создан!");
system("pause");
}
Дмитрий Деменин Спасибо БОЛЬШОЕ. Очень, очень помогли.