CからVB
以下のプログラムはC言語で作成されています。
これをVBで作成したいです。
教えてください。
#include <stdio.h>
#include <stdlib.h>
double *alloc(int r,int n,int m);
void input(double *p,int r,int n,int m);
void sumup(double *p,int r,int n,int m);
int main(void){
int r, n, m;
double *p;
// 行列サイズ入力
printf("input r n m ");
scanf("%d %d %d",&r,&n,&m);
// 行列領域取得
p = alloc(r,n,m);
// 行列要素入力
input(p,r,n,m);
// 行列の和
sumup(p,r,n,m);
//終了,行列領域解放
free(p);
return 0;
}
double *alloc(int r,int n,int m){
double *p;
printf("MATRIX[r=%d][n=%d][m=%d]\n\n",r,n,m);
p = (double*)malloc(sizeof(double)*r*n*m);
if( p == NULL){
printf("error! malloc failed.\n"); exit(-1);
}
return p;
}
void input(double *p,int r, int n,int m) {
int i,j,k;
for(i = 0; i < r; i++){
for(j = 0;j < n; j++){
for(k = 0; k < m; k++){
printf("input MATRIX[%d][%d][%d]= ",i,j,k);
scanf("%lf",&p[i*(n*m)+j*m+k]);
}
}
}
printf("\n");
}
// 行列の和
void sumup(double *p,int r,int n,int m){
int i, j, k;
// 0.0, not 0!!!
double sum = 0.0;
printf("sum of %d matrices:\n",r);
for(j = 0; j< n; j++){
for(k = 0;k < m; k++){
sum=0;
for(i = 0;i < r;i++){
sum += p[i*(n*m)+j*m+k];
}
printf("\n%2f",sum);
}
}
printf("\n");
}
お礼
できました ありがとうございます!