Получить матрицу АВ ; элементы матрицы В вычисляются по формуле - C (СИ)
Формулировка задачи:
Дана квадратная матрица А порядка n. Получить матрицу АВ ; элементы матрицы В вычисляются по формуле
Вот я пробывал чтотт написать не работает. Нужно на языке С
#include <stdio.h> main() { float a[3], b[3], c[3]; int i,j; { for(i=0;i<3;i++); for(j=0;j<3;j++); scanf("%d",a[i][j]); for(i=0;i<3;i++); for(j=0;j<3;j++); b[i][j]=1/(i+j-1); for(i=0;i<3;i++); for(j=0;j<3;j++); c[i][j]=0; for(i=0;i<3;i++); for(j=0;j<3;j++); c[i][j]=c[i][j]+a[i][j]*b[i][j]; { printf("Masiv C"); for(i=0;i<3;i++); for(j=0;j<3;j++); printf("%6.2f",c[i][j]); } getch(); }
Решение задачи: «Получить матрицу АВ ; элементы матрицы В вычисляются по формуле»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char *argv[]) { srand(time(NULL)); const int array_size = 5; float a[array_size][array_size]; float b[array_size][array_size]; float ab[array_size][array_size]; int i, j, k; printf("A[][]:\n"); for (i = 0; i < array_size; ++i) { for (j = 0; j < array_size; ++j) // так как индексация в математике идет с единицы // в формуле прибавляется по +1 для каждого измерения // +2 -1 = +1 иначе получаем inf при i = 0 или j = 0 printf("%9.5f", b[i][j] = 1./(i + j + 1)); printf("\n"); } printf("\n"); printf("B[][]:\n"); for (i = 0; i < array_size; ++i) { for (j = 0; j < array_size; ++j) printf("%9.5f", a[i][j] = (rand() % 1000) / 100.); printf("\n"); } printf("\n"); printf("C[][] = A x B:\n"); for (i = 0; i < array_size; ++i) { for (j = 0; j < array_size; ++j) { ab[i][j] = 0; for (k = 0; k < array_size; ++k) ab[i][j] += a[i][k] * b[k][j]; printf("%9.5f", ab[i][j]); } printf("\n"); } printf("\n"); return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д