PDA

Показать полную графическую версию : [решено] Помогите с задачей!


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

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

EvgeniyQQQ
27-05-2009, 11:14
//Задаём размерность матрицы
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
Спасибо большое! Легкая задача, оказывается...Уже стыдно...((

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




© OSzone.net 2001-2012