Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Помогите с задачей! (http://forum.oszone.net/showthread.php?t=141164)

FeuerEngel 27-05-2009 08:36 1128482

Помогите с задачей!
 
Задача: Изменить матрицу путем замены каждого отрицательного элемента 2-го, 3-го,..., n-го столбцов абсолютной величиной суммы предшествующих ему элементов той строки, в которой он находится. Найти также среднее арифметическое исходных значений элементов матрицы.

Не могу разобраться с заменой и суммой строки. Тут нужно как-то в цикле сделать еще один что ли? Помогите...Буду очень благодарна, если подскажете или напишите этот участок программы.

EvgeniyQQQ 27-05-2009 11:14 1128563

Код:

        //Задаём размерность матрицы
        const int SIZE_1 = 5, SIZE_2 = 5;

        int m[SIZE_1][SIZE_2] =  {1,-7,8,13,26,
                                                  7,12,56,2,7,
                                                  1,-7,8,-11,8,
                                                  3,7,8,13,7,
                                                  0,3,7,-2,12};

        int sum; //для хранения суммы предшествующих элементов в строке
        int simple_average = 0; //для кранения среднего арифметического

        printf("Matrix:\n");
        for(int i = 0; i<SIZE_1; i++)//цикл по строкам
        {
                sum = 0;
                for(int j = 0; j<SIZE_2; j++) //цикл по столбцам
                {
                        simple_average += m[i][j]; //считаем сумму элементов для среднего арифметического

                        if((m[i][j] < 0)&&(j != 0)) //если элемент матрицы - отрицательное число
                        {
                                int sum_current = sum; //сумма для текущего элемента
                                sum += abs(m[i][j]); //считаем сумму предшествующих абсолютных величин исходной матрицы
                                m[i][j] = sum_current;
                        }
                        else
                        {
                                sum += abs(m[i][j]); //считаем сумму предшествующих абсолютных величин исходной матрицы
                        }

                        printf("%d ",m[i][j]); // выводим на экран элементы новой матрицы
                }
                printf("\n");
        }


        simple_average = simple_average /(SIZE_1 * SIZE_2); //Считаем среднее арифметическое

        //выводим на экран среднее арифметическое
        printf("\nSimple average = %d\n",simple_average);

FeuerEngel, учиться надо, а не ду...ка валять...

FeuerEngel 27-05-2009 20:39 1128957

Спасибо большое! Легкая задача, оказывается...Уже стыдно...((

EvgeniyQQQ 28-05-2009 09:58 1129254

Пожалуйста)) Сам был не так давно студентом, помню что это такое, когда учиться начинаешь ближе к концу семестра.... Заданий много, а времени разбираться нет.
Если стыдно, значит не всё потеряно ) ...


Время: 17:07.

Время: 17:07.
© OSzone.net 2001-