Вычислить среднее арифметическое положительных частей матрицы, расположенных ниже побочной

Вычислить среднее арифметическое положительных элементов матрицы, расположенных ниже побочной диагонали.
Задать двумерный массив размерности N*N (N вводится с клавиатуры) из целочисленных частей, принадлежащих отрезку [-10;10]. Вычислить среднее арифметическое положительных частей матрицы, расположенных ниже побочной диагонали. Вывести полученную матрицу в виде прямоугольной таблицы. Вывести указанные элементы. - С (СИ)

Задать свой вопрос
1 ответ
include lt;stdio.hgt;include lt;stdlib.hgt;include lt;conio.hgt;
/* main program fucntion */void main()  int     iMatrSize, // size of the matrix    iSum = 0,  // sum of the nessesary elements of the matrix    iCnt = 0,  // number of the nessesary elements of the matrix    **aMatr;   // the matrix  int i, j;
  scanf_s("%i", amp;iMatrSize);
  /* allocation memory for the array */  aMatr = (int**)malloc(sizeof(int) * iMatrSize);  for (i = 0; i lt; iMatrSize; i++)      aMatr[i] = (int*)malloc(sizeof(int) * iMatrSize); 
  /* filling in the array */  for (i = 0; i lt; iMatrSize; i++)    for (j = 0; j lt; iMatrSize; j++)      aMatr[i][j] = rand() % 21 - 10;
  /* counting the sum of the elements */  for (i = 0; i lt; iMatrSize; i++)    for (j = 0; j lt; iMatrSize - i - 1; j++)      iSum += aMatr[i][j], iCnt++;
  /* outputing the array */  for (i = 0; i lt; iMatrSize; i++)      for (j = 0; j lt; iMatrSize; j++)      printf ("%3i ", aMatr[i][j]);    printf("\n"); 
  printf("Sum = %f\n", (float)iSum / iCnt);
  _getch(); /* End of 'main' function */
Максим Гвоздас
элементы ниже побочной: 8,6,-6. sum=-1.666667
Zheka Krupnikov
А, ниже...
Амброзюк Юра
И, как я сообразил, матрица задаётся не случайным образом, а всегда повторяется. Избирал размерность 3 неск. раз, выдало все разы одну и ту же
Игамбердиев Паша
Тогда в циклах напиши: for (i = 1; i < iMatrSize; i++) for (j = iMatrSize - i; j < iMatrSize; j++) ... (на данный момент она выше считала)
Pavel Lobakov
Заполняется нечаянно, просто при следующих компиляциях значения те же получаются. Можно подключить time.h, затем написать в начале main (после объявления переменных) srand(time(NULL));
Лилия Устимович
Как посчитать только положительные элементы? Он все считает
Семён Монастыров
if (aMatr[i][j] >= 0)
Дворецкова Лидия
Ок, сейчас разберусь, как сделать случайное наполнение
Egor Labeko
Благодарю
Валерия Чижиковская
Не за что!
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт