Не получается правильно записать указатель, чтобы в основную функцию main (в операторе printf) вызывалась функция podproga - C (СИ)
Формулировка задачи:
Не получается правильно записать указатель, чтобы в основную функцию main (в операторе printf) вызывалась функция podproga. Компилятор ругается. Подскажите кто занет,плз.
p.s. пишу на языке с, не с++.
#include <stdio.h> #include <stdlib.h> int main() { int m, n,i,j; float **A; printf("Vvod kol-va strok:"); scanf("%d", &n); printf("Vvod kol-va stolbov:"); scanf("%d", &m); A = (float**)calloc(n, sizeof(double)); //выделение памяти for (i = 0; i < m; i++) A[i]= (float*)calloc(m, sizeof(double)); for (i = 0; i < m; i++) //ввод данных {printf("Vvod stolba N %d\n",i+1); for (j = 0; j < n; j++) scanf("%f", &A[j][i]);} printf ("%f",podproga(A,i,j)); free(A); } float podproga(float**A,int i,int j, int m,int n) { float sum; printf("Resultat:\n"); for (i = 0; i < m; i++) //вычисление {for(j = 0,sum=0.0; j < n; j++) {sum+=A[j][i];} printf("%f\n",sum/n);} }
Решение задачи: «Не получается правильно записать указатель, чтобы в основную функцию main (в операторе printf) вызывалась функция podproga»
textual
Листинг программы
int podproga(float**A,int m,int n); // это должно стоять перед мейном return (sum/n); // float делишь на int. return ((int)sum/n); printf("%f",podproga(A,m,n)); // подпрогра твоя возвращает инт, а стоит %f
Объяснение кода листинга программы
- В начале кода определена функция
podproga
, которая принимает три аргумента типаfloat*
и два целочисленных аргумента. - Внутри функции
podproga
происходит вычисление суммы элементов матрицыA
с помощью циклаfor
. - Результатом работы функции
podproga
является возвращаемое значение(sum/n)
. - Перед вызовом функции
podproga
в основной функцииmain
объявлены три переменные типаfloat*
и две целочисленные переменные. - В основной функции
main
происходит вызов функцииpodproga
с передачей в нее аргументов типаfloat*
и целочисленных. - Результатом работы функции
podproga
является возвращаемое значение, которое приводится к типуfloat
с помощью оператораfloat()
. - Значение, возвращаемое функцией
podproga
, передается в функциюprintf
для вывода на экран. - В качестве формата вывода используется спецификатор
%f
, который указывает на формат вывода в научной нотации. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода. - Значение, передаваемое в функцию
printf
, будет автоматически преобразовано в типfloat
для соответствия требуемому формату вывода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д