Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- using namespace std;
- const int nmax = 100;
- int ArrayInputFromFile(int *n, int *m, int x[][nmax], char *fname)
- {
- FILE *file;
- if ((file = fopen(fname, "r")) == NULL)
- {
- printf("Невозможно открыть файл '%s'\n", fname);
- return(0);
- }
- if (fscanf(file, "%d%d", m, n) < 2)
- {
- printf("Ошибка чтения из файла '%s'\n", fname);
- fclose(file);
- return(0);
- }
- if (*m < 0 || *m > nmax || *n < 0 || *n > nmax)
- {
- printf("Количество строк и столбцов матрицы должны быть от 1 до %d!\n", nmax);
- return(0);
- }
- for (int i = 0; i < *m; i++)
- for (int j = 0; j < *n; j++)
- if (fscanf(file, "%d", &x[i][j]) < 1)
- {
- printf("Ошибка чтения из файла '%s'\n", fname);
- fclose(file);
- return(0);
- }
- }
- inline float ArraySrAr_matr(int n, int m, int x[][nmax])
- {
- float SrAr1,kol=0.0,sum=0.0;
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- if (x[i][j]>0){sum+=x[i][j];kol++;}
- }
- }
- SrAr1=sum/kol;
- return SrAr1;
- }
- int MinElemStroki(int n,int x[])
- {
- int min=x[0];
- for(int i=0;i<n;i++)
- {
- if (min > x[i])
- {min=x[i];}
- }
- return min;
- }
- float ArraySrAr_str(int n, int x[])
- { float SrAr2,sum=0.0,kol=0.0;
- for (int i = 0; i < n; i++)
- {
- if (x[i] > 0){sum+=x[i];kol++;}
- }
- SrAr2=sum/kol;
- return SrAr2;
- }
- int main(int argc, char *argv[])
- {
- int a[nmax][nmax], b[nmax][nmax]; // объявляем два массива
- int na, ma, nb, mb;
- float k1, k2;
- setlocale(LC_ALL, "rus"); // Меняем кодировку для консольного приложения
- ArrayInputFromFile(&na, &ma, a, argv[1]);
- ArrayInputFromFile(&nb, &mb, b, argv[2]);
- k1 = ArraySrAr_matr(na, ma, a);
- k2 = ArraySrAr_matr(nb, mb, b);
- cout << "Среднее арифметическое массива а"<<" "<< k1<< "\n";
- cout << "Среднее арифметическое массива b"<<" "<< k2 << "\n";
- if (k1 <= k2)
- {
- cout << "В 1 массиве меньше среднее арифметическое положительных элементов "<< endl;
- for (int i = 0; i < na; i++)
- {
- {
- cout << MinElemStroki(ma, a[i]) << endl;
- }
- }
- }
- else
- {
- cout << "В 2 массиве меньше среднее арифметическое положительных элементов чем в 1" << endl;
- for (int i = 0; i < nb; i++)
- cout << MinElemStroki(mb, b[i]) << endl;
- }
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement