Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] В массиве определить сумму отрицат. эл-ов


Автор: lrad 21.1.2007, 22:01
Помогите решить задачу с использованием функций с указателями в качестве аргументов:
Даны вещественные массивы А[4][6], B[4][6]. Для каждого массива определить сумму и количество отрицательных элементов, расположенных в нечетных строках. И если можно то написать комментарии.

Автор: Alexeis 21.1.2007, 22:31

M
Alexeis
Модератор: да вы что сговорились сегодня? Правила в заголовке для меня написаны что ли?

Автор: lrad 21.1.2007, 23:31
мне нужен код только обработки массива
код для ввода массива и вывода результатов я напишу сам

Автор: Dov 22.1.2007, 00:00
Цитата(lrad @  21.1.2007,  22:31 Найти цитируемый пост)
мне нужен код только обработки массива

Что-нибудь такое:
Код
    double matr[ROWS][COLS];
   // ...
    double sum   = 0.;
    int    count = 0;

    // инициализация матрицы
    // ...

    // обработка матрицы
    for(int i = 0; i < ROWS; i += 2)           // идём по нечётным рядам
    {
        for(int j = 0; j < COLS; j++)
        {
            if(matr[i][j] < 0)                 // если значение отрицательное
            {
                sum += matr[i][j];             // суммируем его
                count++;                       // и подсчитываем количество
            }
        }
    }

    // вывод результатов
    // ...


Автор: lrad 22.1.2007, 00:15
Dov, Спасибо!
Вроде должно работать
Сейчас уже нет сил - завтра на свежаю голову буду биться над кодом

 

Автор: Dov 22.1.2007, 00:23
lrad, давай, бейся.  smile 

Вот ф-ция:
Код
#define ROWS 4
#define COLS 6

void obrabotka_massiva(double matr[][COLS], double* sum, int* count)
{
    *sum   = 0.;
    *count = 0;

    for(int i = 0; i < ROWS; i += 2)           // идём по нечётным рядам
    {
        for(int j = 0; j < COLS; j++)
        {
            if(matr[i][j] < 0)                 // если значение отрицательное
            {
                *sum += matr[i][j];            // суммируем его
                (*count)++;                    // и подсчитываем количество
            }
        }
    }


}
int main(void)
{
    double matr[ROWS][COLS];
    double sum;
    int    count;

    // инициализация матрицы
    // ...

    obrabotka_massiva(matr, &sum, &count);

    // вывод результатов
    // ...

    return 0;    
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)