myArrayとqは0を出力します。なぜその理由がわかりません。2次元配列の値
printf("Diameter: %f Flow rate: %f\n",myArray[rows][columns],q);
プログラムでは流量が計算され、直径と流量値のテーブルを印刷しようとしています。
#include <stdio.h>
#include <stdlib.h>
void printArray(float myArray[5][3], float v);
int main()
{
float q, a, d, v, array[5][3];
int rows, columns;
printf("Enter: ");
scanf("%f",&v);
for (rows = 0; rows < 5; rows++)
{
for (columns = 0; columns < 3; columns++)
{
printf("Enter value for %d, %d",rows,columns);
scanf("%d",&array[rows][columns]);
}
}
printArray(array, v);
}
void printArray(float myArray[5][3], float v)
{
int i, rows, columns;
float q, a;
for (rows = 0; rows < 5; rows++)
{
for (columns = 0; columns < 3; columns++)
{
a=(3.14*(myArray[rows][columns]*myArray[rows][columns]))/4;
q=a*v;
printf("Diameter: %f Flow rate: %f\n",myArray[rows][columns],q);
}
}
printf("\n");
}
1つの問題は、あなたがフロートにint型を読み込むことです。配列に読み込むscanfの書式指定子が間違っています。 – Pemdas