Ф-я для обработки матрицы - C (СИ)
Формулировка задачи:
Создать ф-ю для обработки матрицы по заданию ВС-5
ВС-5:
Помогите.С меня +
#include<iostream.h> #include<stdio.h> #include<conio.h> #include<math.h> void main() { int n,i,j; float A[20][20], B[20]; clrscr(); printf("n="); scanf("%d",&n); printf("Matrica A\n"); for(i=0;i<n;i++) for(j=0;j<n;j++) { printf("A[%d][%d]=",i+1,j+1); scanf("%f",&A[i][j]); } for(i=0;i<n;i++) { B[i]=0; for(j=0;j<n;j++) { if(A[i][j]>=0) { B[i]+=A[i][j]; }}} clrscr(); printf("Laboratorna robota BC-5"); printf("\nstydenta gr. EMS-13"); printf("\nShramko S.V.\n"); printf("\nvariant -15"); printf("\nVhidni dani"); printf("\nn=%d",n); printf("\nMatrica A\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%6.3f ",A[i][j]); printf("\n"); } printf("\nRezyltat"); printf("\nB="); for(i=0;i<n;i++) printf("%6.3f;",B[i]); getch(); }
Решение задачи: «Ф-я для обработки матрицы»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> void b(float *B, float **A, int n) { int i = 0, j = 0; for (i = 0; i < n; i++) { B[i] = 0; for (j = 0; j < n; j++) { if (A[i][j] >= 0) { B[i] += A[i][j]; } } } } int main() { int raw, col; float **A, *B; int sz = 0; printf("n="); scanf("%d", &sz); printf("Matrica A\n"); A = (float**) malloc(sz * sizeof(float*)); for (raw = 0; raw < sz; ++raw) { A[raw] = (float*) malloc(sz * sizeof(float)); for (col = 0; col < sz; ++col) { //printf("A[%d][%d]=", i + 1, j + 1); //scanf("%f", &A[i][col]); A[raw][col] = -10 + rand() % 21; //-10..10 } } B = (float*) malloc(sz * sizeof(float)); b(B, A, sz); printf("Laboratorna robota BC-5"); printf("\nstydenta gr. EMS-13"); printf("\nShramko S.V.\n"); printf("\nvariant -15"); printf("\nVhidni dani"); printf("\nn=%d", sz); printf("\nMatrica A\n"); for (raw = 0; raw < sz; ++raw) { for (col = 0; col < sz; ++col) printf("%6.3f ", A[raw][col]); printf("\n"); } printf("\nRezyltat"); printf("\nB="); for (raw = 0; raw < sz;++raw) printf("%6.3f;", B[raw]); free(B); for (raw = 0; raw < sz; ++raw) free(A[raw]); free(A); return 0; }
Объяснение кода листинга программы
- Программа включает в себя функцию b и функцию main.
- В функции main считывается размер матрицы (n) и выделяется память под матрицу A и B.
- Затем в цикле заполняется матрица A случайными числами от -10 до 10.
- После этого вызывается функция b для обработки матрицы B.
- Выводится сообщение с информацией о программе и ее авторе.
- Выводится матрица A.
- Выводится результат обработки матрицы B.
- Освобождается память, выделенная под матрицу A.
- Освобождается память, выделенная под матрицу B.
- Возвращается 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д