求一个3维数组相乘的例子 fortran二维数组

求一个简单的fortran循环程序示例_百度知道
求一个简单的fortran循环程序示例
如,先生成一个1百万长度数组1。我只想学习学习:1e6,再让每个元素乘2,求完整的能编译的Fortran程序
提问者采纳
要一百万自己把一千改成一百万:a(1000)=(&#47:,1000)&#47,先给一千你试试;(i,*)apauseendprogram
一百万的数组我机子带不动,i=1;)a=2*awrite(*:ireal:program mainimplicit noneinteger
提问者评价
其他类似问题
为您推荐:
fortran的相关知识
其他1条回答
新开设的数组要清零!再赋值,以后再乘2!
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁fortran中,怎么定义一个二维的动态数组_百度知道
fortran中,怎么定义一个二维的动态数组
ORTRAN语言,要怎么做,我想定义一个2*N的数组,N的值通过后续读取得到
提问者采纳
, :: a( : nread( * , * ) nallocate( a( 2: )integer , allocatable real :
提问者评价
来自团队:
其他类似问题
为您推荐:
动态数组的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁二维数组,请高手帮忙修改!使下面两个3*5和5*4的矩阵相乘得到一个3*4的矩阵_百度知道
二维数组,请高手帮忙修改!使下面两个3*5和5*4的矩阵相乘得到一个3*4的矩阵
m1是个3*5的矩阵,m2是个5*4的矩阵。一个initmatrix初始化函数,让使用者填充这两个矩阵,displaymatrix是用来显示得到m3矩阵。二维数组是要添加求一个动态数组malloc和free吗?如何改?#include &stdio.h&#define max 5#define maxl 3 #define maxc 4void initMatrix(int mat[][],int nbl,nbc){int i,j;for(i=0;i&i++)for(j=0;j&i++){printf(&M[%d][%d]=&,i+1,j+1);scanf(&%d&,&mat[i][j]);}}void displayMatrix(int mat[][]){int i,j;for(i=0;i&i++)for(j=0;j&j++)printf(&matrix=mat[%d][%d],mat[i][j]&);}void main(){int m1[maxl][max],m2[max][maxc],m3[maxl][maxc];int i,j,k;initMatrix(m1,maxl,max);initMatrix(m2,max,maxc);for(i=0;i&i++)for(j=0;j&j++)m3[i][j]=0;for(k=0;k&k++)m3[i][j]+=m1[i][k]+m2[k][j];displayMatrice(m3);}
提问者采纳
你的3 个 #define 改 int 。m1,m2,m3 改 **m1,**m2,**m3. 然后 照猫画虎即可。#include&stdio.h&/*---------------------
b[j][k] * c[k][i] = a[j][i] *---------------------*/void matrix(int **b,int **c, int **a, int nx, int ny, int nk){int i,j,k;for (j=0;j&j++)for(i=0;i&i++)a[j][i]= 0;for(j=0;j&j++){for(i=0;i&i++){for(k=0;k&k++)a[j][i]+= b[j][k]*c[k][i];};};}void main(){int i,j,k,int b_row,b_int c_row,c_int a_row,a_int **b,**c,**a;printf(&please enter b_row b_col of matrix B\n&);scanf(&%d %d&,&b_row,&b_col);c_row = b_printf(&please enter c_col of matrix C\n&);scanf(&%d&,&c_col);a_row = b_a_col = c_a
= (int **) malloc(sizeof(int *) * a_row);for (j=0;j&a_j++){a[j] = (int *) malloc(sizeof(int) * a_col);}b
= (int **) malloc(sizeof(int *) * b_row);for (j=0;j&b_j++){b[j] = (int *) malloc(sizeof(int) * b_col);}c
= (int **) malloc(sizeof(int *) * c_row);for (j=0;j&c_j++){c[j] = (int *) malloc(sizeof(int) * c_col);}if (!c[c_row-1]) {printf(&no enought memory\供敞垛缎艹等讹劝番滑n&);exit(0);}printf(&Please input int matrix b[%d][%d]\n&,b_row,b_col);for (j=0;j&b_j++)for (i=0;i&b_i++){scanf(&%d&,&tmp);b[j][i] =}printf(&Please input int matrix c[%d][%d]\n&,c_row,c_col);for (j=0;j&c_j++)for (i=0;i&c_i++){scanf(&%d&,&tmp);c[j][i] =}matrix( b ,c,a, a_col, a_row, b_col);for(j=0;j&a_j++){for (i=0;i&a_i++) printf(&%d &,a[j][i]);printf(&\n&);};for(i=0;i&a_i++) free((void *)a[i]); free((void *)a);for(i=0;i&b_i++) free((void *)b[i]); free((void *)b);for(i=0;i&c_i++) free((void *)c[i]); free((void *)c);}
其他类似问题
为您推荐:
二维数组的相关知识
其他1条回答
我给你改一个void initMatrix(int *mat,int nbl,nbc){ int i,j; for(i=0;i&i++) for(j=0;j&i++) {
printf(&M[%d][%d]=&,i+1,j+1);
scanf(&%d&,(*(mat+i)+j)); }}
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 fortran 定义二维数组 的文章

 

随机推荐