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