Error C2664: fmatr: невозможно преобразовать параметр 1 из 'float [4][4]' в 'float *' - C (СИ)

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

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

#include "stdafx.h"
#include<stdio.h> 
#include<conio.h> 
/* Описание функции fmatr */ 
void fmatr(float *ptx, int m, int n, float f, float g, float c, float *pt_sx, float *pt_px, char name) 
{ 
  int i,j,imax,jmax; 
  float xmax,sx,px; 
  printf("Матрица %c размером  %dx%d\n",name,m,n); 
  for(i=0;i<=m-1;i++) 
{ 
  for(j=0;j<=n-1;j++) 
  { *(ptx+i*n+j)=f+g*i+c*j;
  printf("%.1f  ", *(ptx+i*n+j));
  }
  printf("\n");
  }
  imax=jmax=0;
  xmax=*ptx;
  for(i=0;i<=m-1;i++) 
  for(j=0;j<=n-1;j++) 
    if(*(ptx+i*n+j)>xmax) 
    { 
      xmax=*(ptx+i*n+j); 
      imax=i; 
      jmax=j; 
    } 
    printf("%cmax=%.1f  imax=%d  jmax=%d\n", name, xmax, imax, jmax);
    sx=1;
    for(j=0;j<=n-1;j++)
        sx*=*(ptx+imax*n+j);
    px=1;
    for(i=0;i<=m-1;i++)
        px*=*(ptx+i*n+jmax);
    *pt_sx=sx; 
*pt_px=px; 
}
void main() 
{ 
  float a[5][5], b[3][3], c[4][4], sa, sb, sc, pa, pb, pc; 
 
  fmatr(a, 5, 5, 1.4, 2.5, -4.7, &sa, &pa, 'A'); 
  printf("sa=%.1f  pa=%.1f\n", sa, pa); 
  fmatr(b, 3, 3, -4.5,  6.7, 2.1, &sb, &pb, 'B'); 
  printf("sb=%.1f  pb=%.1f\n", sb, pb); 
  fmatr(c, 4, 4, 7.7,  -5.1, 3.2, &sc, &pc, 'C'); 
  printf("sc=%.1f  pc=%.1f\n",sc,pc); 
}

Решение задачи: «Error C2664: fmatr: невозможно преобразовать параметр 1 из 'float [4][4]' в 'float *'»

textual
Листинг программы
fmatr( *a , 5, 5, 1.4, 2.5, -4.7, &sa, &pa, 'A'); 
 
       ///   
 
fmatr( *b , 3, 3, -4.5, 6.7, 2.1, &sb, &pb, 'B'); 
 
        ///
 
fmatr( *c , 4, 4, 7.7, -5.1, 3.2, &sc, &pc, 'C');
 
         ///

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


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

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

6   голосов , оценка 3.833 из 5
Похожие ответы