Найти число элементов массива больше t и просуммировать все эти элементы - C (СИ)
Формулировка задачи:
Дан случайный вещественный массив А(n,n) со значениями от-10 до 10. Найти число элементов массива больше t и просуммировать все эти элементы.
я создал двухмерный массив и попытался найти число элементов больше t но что то пошло не так!
посмотрите пожалуйста!
подсчет указан как комментарий
#include <stdio.h>
#include<locale.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#define _USE_MATH_DEFINES
#define a -10
#define b 10
int main( int argc, char**argv)
{
int n;
double **A;
int i=0;
int j=0;
int t;
int counter=0;
srand( time( 0 ) );
rand();
rand();
rand();
rand();
rand();
printf ("Enter n:");
scanf ("%d",&n);
printf ("Enter t:");
scanf ("%d", &t);
A=(double**)malloc(n*sizeof(double*));
for(i = 0; i<n; i++)
A[i]=(double*)malloc(n*sizeof(double));
for(j = 0; j<n; j++)
{
A[i][j]= rand()% (b - a+1) + a;
printf("%d\n",A[i][j] );
/*{
int i=0; counter=0;
for(i=j; i<t; i++)
{
counter++;
printf("%d\n", counter);
}
}*/
}
system("pause");
free (A);
return 0;
}Решение задачи: «Найти число элементов массива больше t и просуммировать все эти элементы»
textual
Листинг программы
int sum, nsum;
for (sum = nsum = i = 0; i < n; i += 1)
for(j = 0; j < n; j += 1)
if(A[i][j] > t){
sum += t;
++nsum;
}
Объяснение кода листинга программы
В данном коде выполняется два вложенных цикла. Первый цикл проходит по всем элементам массива и проверяет условие, если элемент больше t, то к переменной sum прибавляется значение t, а переменная nsum увеличивается на единицу. Второй цикл выполняет итерацию по каждому элементу массива.