0
Help me please guys
Создать функцию которая меняет местами первый и последний ряды квадратной и найти произведение елементов главной диагонали
2 Réponses
+ 3
Please show your code attempt
Пожалуйста, попробуй.
Вы делаете домашнее задание.
Ты учишь.
Мы отвечаем.
Вы не учитесь.
Почтовый индекс.
Если застрял, Мы помогаем.
0
#include <stdio.h>
#include "stdafx.h"
#define H 3
#define W 3
long swapUmn(int *matrix,int h,int w);
void main(){
int matrix[H][W] = {
{1,2,3},
{4,5,6},
{7,8,9}
};
printf("transform\n");
long prDiag = swapUmn(&matrix[0][0],H,W); //трансформируем, и получаем произведени элемнетов диагонали
//выводим результат
for(int i=0;i<H;i++){
for(int j=0;j<W;j++){
printf(" "); printf("%d",matrix[i][j]);
}
printf("\n");
}
printf("\n");
//выводим произведение элементов диагонали
printf("%d",prDiag);
printf("\n");
getch();
}
long swapUmn(int *matrix,int h,int w){
int i = 0; //первая строка
int j = h-1; //последня строка
int s = 0; //индекс столбца
//Обмен последней строки и первой
for(;s<w;s++){
int tmp = matrix[i*w+s];
matrix[i*w+s] = matrix[j*w+s];
matrix[j*w+s]=tmp;
}
//Находим произведение элементов диагонали
int pr = 1;
for(int q = 0,k=0;q<h||k<w;q++,k++)pr*=matrix[q*w+k];
return pr;
}