КАК исправить синтаксические ошибки в проге по сложению, вычитанию, скалярному произведению век - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <conio.h> #include <math.h> #include <locale.h> struct vector{ float *x; int n; }; vector* sum(vector *v1, vector *v2){ int i; vector *v = NULL; if (v1->n!=v2->n){ return v; } v=(vector*)malloc(sizeof(vector)); create(v,v1->n); for (i=0;i<(v->n);i++){ v->x[i] = (v1->x[i]) + (v2->x[i]); } return v; } vector* substraction (vector *v1, vector *v2) { int i; vector* v = NULL; if(v1->n!=v2->n){ return v; } v = (vector*)malloc(sizeof(vector)); create(v,v1->n); for (i=0; i<v->n; i++) { v->x[i] = (v1->x[i]) - (v2->x[i]); } return v; } float scal (vector *v1, vector *v2) { int i; float result; result = 0; if (v1->n!=v2->n) { return 0; } v = (vector*) malloc(sizeof(vector)); create(v,v1->n); for(i = 0; i < v->n; i++) { result+ =(v1->x[i])*(v2->x[i]); } return result; } void fill(vector *v, int n){ int i; for(i=0; i < n; i++){ scanf_s("%f",&v[i].x); } } void create (vector *v, int n) { v->n = n; v->x = (float*)malloc(sizeof(float)*n); } void release (vector *v) { free(v -> x); v -> v = 0; } void fillr(vector *v, int n){ int i; for (i=0; i<n; i++) { printf_s("%f",v[i].x); } } void main(){ setlocale(LC_CTYPE,"russian"); vector v1, v2; vector *v; int n; printf("Введите размерность вектора:"); scanf("%d",&n); vector *v1=(vector*)malloc(sizeof(int)*n); vector *v2=(vector*)malloc(sizeof(int)*n); create(&v1,n); create(&v2,n); fill(&v1); fill(&v2); sum(&v1,&v2); fillr(&v,n); substraction(&v1,&v2); fillr(&v,n); scal(&v1,&v2); fillr(&v,n); release(&v1); release(&v2); release(&v); free(&v1); free(&v2); free(&v); }
Решение задачи: «КАК исправить синтаксические ошибки в проге по сложению, вычитанию, скалярному произведению век»
textual
Листинг программы
free(&v1);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д