[cpp] 4.2

Viewer

  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. using namespace std;
  5.  
  6.  
  7. float average(int **mas, int m, int k){//ф-ция типа float, принимающая как аргумент массив, кол-во столбцов и номер строки, 
  8.                                         //в которой надо посчитать ср арифметическое
  9.     int sum = 0;//задаем переменную, где будем считать сумму элементов строки
  10.     for (int i = 0; i < m; i++)//запускаем цикл по элементам строки
  11.         sum += mas[k][i];//каждый прибавляем к сумме
  12.     float ar = (float)sum / m;//считаем среднее арифметическое
  13.     return ar;//возвращаем его
  14. }
  15.  
  16. int main()
  17. {
  18.     int n, m;//переменные под размеры массива
  19.     FILE *f;//перменная для ссылки на файл
  20.     f = fopen("test3.txt""r");//открываем файл для чтения
  21.     if (== NULL){//проверяем, чтобы он был не пустой, если пустой возвращаем ошибку и завершаем программу
  22.         cout << "ERROR";
  23.         return 0;
  24.     }
  25.     fscanf(f, "%d"&n);//считываем из файла размерности массива
  26.     fscanf(f, "%d"&m);
  27.     cout << n << " " << m << "\n";//выводим их на экран
  28.     int ** mas = new int * [n];//задаем динамический массив
  29.     for (int i = 0; i < n; i++)
  30.         mas[i] = new int [m];
  31.     for (int i = 0; i < n; i++){
  32.         for (int j = 0; j < m; j++){
  33.             fscanf(f, "%d"&mas[i][j]);//считываем массив из файла
  34.             cout << mas[i][j] << " ";//выводим его на экран
  35.         }
  36.         cout << "\n";
  37.     }
  38.     float max = -100000;//задаем переменную, где будет храниться максимум
  39.     int num = 0;//переменная, где будет номер строки максимума
  40.     for (int i= 0; i < n; i++)//запускаем цикл по строкам
  41.         if (average(mas, m, i) > max){//сравниваем максимум со средним арифм опрделенной строки, полученным из работы функции average
  42.             max = average(mas, m, i);//если оно больше, перезаписываем новый максимум
  43.             num = i;//и запоминаем номер строки
  44.         }
  45.     cout << num << "\n";//выводим номер строки, в которой ср арифм наибольшее
  46.  
  47.     return  0;
  48. }

Editor

You can edit this paste and save as new:


File Description
  • 4.2
  • Paste Code
  • 02 Dec-2022
  • 2.74 Kb
You can Share it: