КАК исправить синтаксические ошибки в проге по сложению, вычитанию, скалярному произведению век - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <math.h>
  4. #include <locale.h>
  5. struct vector{
  6. float *x;
  7. int n;
  8. };
  9. vector* sum(vector *v1, vector *v2){
  10. int i;
  11. vector *v = NULL;
  12. if (v1->n!=v2->n){
  13. return v;
  14. }
  15. v=(vector*)malloc(sizeof(vector));
  16. create(v,v1->n);
  17. for (i=0;i<(v->n);i++){
  18. v->x[i] = (v1->x[i]) + (v2->x[i]);
  19. }
  20. return v;
  21. }
  22. vector* substraction (vector *v1, vector *v2) {
  23. int i;
  24. vector* v = NULL;
  25. if(v1->n!=v2->n){
  26. return v;
  27. }
  28. v = (vector*)malloc(sizeof(vector));
  29. create(v,v1->n);
  30. for (i=0; i<v->n; i++) {
  31. v->x[i] = (v1->x[i]) - (v2->x[i]);
  32. }
  33. return v;
  34. }
  35. float scal (vector *v1, vector *v2) {
  36. int i;
  37. float result;
  38. result = 0;
  39. if (v1->n!=v2->n) {
  40. return 0;
  41. }
  42. v = (vector*) malloc(sizeof(vector));
  43. create(v,v1->n);
  44. for(i = 0; i < v->n; i++) {
  45. result+ =(v1->x[i])*(v2->x[i]);
  46. }
  47. return result;
  48. }
  49. void fill(vector *v, int n){
  50. int i;
  51. for(i=0; i < n; i++){
  52. scanf_s("%f",&v[i].x);
  53. }
  54. }
  55. void create (vector *v, int n) {
  56. v->n = n;
  57. v->x = (float*)malloc(sizeof(float)*n);
  58. }
  59. void release (vector *v) {
  60. free(v -> x);
  61. v -> v = 0;
  62. }
  63. void fillr(vector *v, int n){
  64. int i;
  65. for (i=0; i<n; i++) {
  66. printf_s("%f",v[i].x);
  67. }
  68. }
  69. void main(){
  70. setlocale(LC_CTYPE,"russian");
  71. vector v1, v2;
  72. vector *v;
  73. int n;
  74. printf("Введите размерность вектора:");
  75. scanf("%d",&n);
  76. vector *v1=(vector*)malloc(sizeof(int)*n);
  77. vector *v2=(vector*)malloc(sizeof(int)*n);
  78. create(&v1,n);
  79. create(&v2,n);
  80. fill(&v1);
  81. fill(&v2);
  82. sum(&v1,&v2);
  83. fillr(&v,n);
  84. substraction(&v1,&v2);
  85. fillr(&v,n);
  86. scal(&v1,&v2);
  87. fillr(&v,n);
  88. release(&v1);
  89. release(&v2);
  90. release(&v);
  91. free(&v1);
  92. free(&v2);
  93. free(&v);
  94. }

Решение задачи: «КАК исправить синтаксические ошибки в проге по сложению, вычитанию, скалярному произведению век»

textual
Листинг программы
  1. free(&v1);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы