Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Задана матрица Z(6,6). Элемент главной диагонали на каждой строке заменить суммой элементов,
- // расположенных за ним (если элемент на главной диагонали не равен нулю).
- // Элементы главной диагонали вывести в массив B.
- // Вывести исходную и преобразованную матрицы, полученный массив.
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <math.h>
- #include <time.h>
- #define ON 1
- #define OFF 0
- #define DEBUG OFF
- #if DEBUG == ON
- #define debug(msg) printf ("%s\n", msg);
- #else
- #define debug(msg)
- #endif
- void main() {
- setlocale (LC_ALL, "Russian");
- int matrix [6][6], B[6];
- unsigned i, j, k;
- srand (time (NULL) );
- puts ("Исходная матрица");
- for (i = 0; i < 6; i++){
- for (j = 0; j < 6; j++){
- matrix [i][j] = rand() %100;
- printf ("%3i ", matrix [i][j]);
- }
- puts ("");
- }
- for (i = 0; i < 6; i++){
- for (j = 0; j < 6; j++){
- if ( (i == j) && (matrix [i][j] != 0) ) {
- matrix[i][j] = 0;
- // Обнуляем для того, чтобы старое значение элемента не прибавилось к сумме последующих,
- // т.к. в задании просят "заменить" значение
- for (k = j+1; k < 6; k++){
- // От следующего на строке (после эл. с главной диаг.) до конца строки
- matrix [i][j] = matrix [i][j] + matrix [i][k];
- }
- B [i] = matrix [i][j];
- }
- }
- }
- puts ("Полученная матрица");
- for (i = 0; i < 6; i++){
- for (j = 0; j < 6; j++){
- printf ("%3i ", matrix [i][j]);
- }
- puts ("");
- }
- puts ("Массив значений главной диагонали");
- for (i = 0; i < 6; i++){
- printf ("%3i ", B [i]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement