Найти число элементов массива больше 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 увеличивается на единицу. Второй цикл выполняет итерацию по каждому элементу массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д