Другие языки программирования и технологии

ПОМОГИТЕ РЕШИТЬ задачи по Си

1.найти количество и произведение отрицательных элементов одномерного массива
2.дан целочисленный массив из 30 элементов. элементы массива могут принимать целые значения от0 до 100 - баллы учащихся за итоговых тест по информатике. определите количество учащихся, чья оценка за тест выше средней оценки в классе.
Кто понимает решите пожалуйста!!!!
#include <stdio.h>
#include <conio.h>
#include <locale.h>
int main() {
    int a[] = {0,-6,4,7,8,-5,7,-6,3,-6,7,6,-5,-7,-6,2,1,8,-9,-3,-3,2,-9,-8,2,-7};
    double mult = 1; /* тип int ограничен интервалом значений [-2147483648; 2147483647], произведение, сумма может выходить за его пределы */
    size_t size = sizeof(a) / sizeof(int), n, count = 0;
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    for (n = 0; n < size; n++) {
        printf("%3i", a[n]);
        if (a[n] < 0) {
            mult *= a[n];
            ++count;
        }
    }
    if (count) printf("\n Количество отрицательных элементов = %i\n Произведение = %.0Lf\n", count, mult);
    else printf("\n Отрицательные элементы отсутствуют! \n\a");
    _getch();
    return 0;
}
ВЖ
Владимир Жуков
60 247
Лучший ответ
А ты специалист будешь в какой сфере, если мучают программированием Вас?

Примерно как надо:
1. если есть массив на 10 элементов mas[10];
int kl=0, pr=1; // количество и произведение
for( int i=0; i < 10; i++ ){
if(mas[ i ] < 0){ kl++; pr *= mas[ i ]; }
}

2.
int kl=0; // кол. уч. чья оценка выше средней
int sm=0, sr;
// вычисляем сумму
for( int i=0; i < 30; i++ ) sm += mas[ i ];
sr = sm / 30; // получим среднюю по классу
// если оценка выше средней, то увел. кол. уч... .
for( i=0; i < 30; i++ ) if( mas[ i ] > sr ) kl++;
RB
Rinat Baytimirov
97 084
1. в цикле проходим по массиву. если элемент массива меньше 0, то в одну переменную помещаем произведение в другой ведем счетчик количества отрицательных элементов.
2.огранизуем два цикла. в первом рассчитываем сумму элементов а затем среднеюю оценку. во втором цикле выводим на печать имена учеников чья оценка меньше рассчитанной средней.
SB
Simple Brave ****boy****
53 111