Не получается правильно записать указатель, чтобы в основную функцию 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для соответствия требуемому формату вывода.