-
2021-05-22 17:37:33
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个是程序前面的赋初值的部分,光是这部分程序就有问题。整个程序是
#include
#include
#include
#define IE 60
#define JE 60
main()
{
float ga[IE][JE],dz[IE][JE],ez[IE][JE],hx[IE][JE],hy[IE][JE];
int l,n,i,j,ic,jc,nsteps;
float ddx,dt,T,epsz,epsilon,sigma,eaf;
float t0,spread,pulse,pi;
FILE *fp,*fopen();
ic=IE/2;
jc=JE/2;
pi=3.14159;
ddx=0.01;
dt=ddx/6e8;
epsz=8.8e-12;
for(j=0;j
{printf("%2d\n",j);
for(i=0;i
{dz[i][j]=0.0;
ez[i][j]=0.0;
hx[i][j]=0.0;
hy[i][j]=0.0;
ga[i][j]=1.0;
printf("%5.2f \n",ga[i][j]);
getch();
}
printf("\n");
}
t0=20.0;
spread=6.0;
T=0;
nsteps=1; /*
while(nsteps>0)
{
printf("nsteps-->");
scanf("%d",&nsteps);
printf("%d\n",nsteps);
for(n=1;n<=nsteps;n++)
{
T=T+1;
for(j=1;j
{for(i=1;i
{dz[i][j]=dz[i][j]+0.5*(hy[i][j]-hy[i-1][j]-hx[i][j]+hx[i][j-1]);
}
}
pulse=exp(-0.5*(pow((t0-T)/spread,2.0)));
dz[ic][jc]=pulse;
for(j=1;j
{for(i=1;i
{ez[i][j]=ga[i][j]*dz[i][j];
}
}
for(j=0;j
{for(i=0;i
{hx[i][j]=hx[i][j]+0.5*(ez[i][j]-ez[i][j+1]);
}
}
for(j=0;j
{for(i=0;i
{hy[i][j]=hy[i][j]+0.5*(ez[i+1][j]-ez[i][j]);
}
}
}
for(j=1;j
{
printf("%2d\n",j);
for(i=1;i
{printf("%5.2f \n",ez[2*i][2*j]);
}
printf("\n");
}
printf("T=%5.2f \n",T);
fp=fopen("Ez","w");
for(j=0;j
{for(i=0;i
{
fprintf(fp,"%6.3f\n",ez[i][j]);
}
fprintf(fp,"\n");
}
fclose(fp);
} */
}
我只求能把前面赋值部分可以调试出来我就知足了。谢�
更多相关内容 -
二维数组赋初值你会几种方法?
2021-11-07 21:58:02二维数组赋初值你会几种方法 文章目录方法一方法二方法三方法四方法五 方法一 分行给二维数组赋初值: int arr[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; 这种赋值方法简单直观,把第一个花括号的值给第一行,...二维数组赋初值你会几种方法
方法一
- 分行给二维数组赋初值:
int arr[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
这种赋值方法简单直观,把第一个花括号的值给第一行,一次类推。
问:arr[2][0]=?
答:9方法二
- 按数组排列顺序对元素赋值:
int arr[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
缺点:如果数据较多,容易遗漏,不方便检查。
问:arr[1][2]=?
答:7方法三
- 对部分元素赋值
int arr[3][4]={{1},{5},{9}};
未赋初值的元素默认为0。
优点:适用于数据多且零较多的情况,不需要把每个零标出,只需要输入少量的数据。问:arr[2][3]=?
答:0方法四
- 对全部元素赋初值时,可以省略第一维的长度,系统会根据数据总个数判断第二维的长度,但第二维的长度不可省略。
int arr[][4]={1,2,3,4,5,6,7,8,9,10,11,12}
系统会根据数据总个数分配存储空间,一共12个数据,每行4列,当然可确定为3行。
问:arr[2][2]=?
答:11方法五
- 在对部分元素赋初值时,也可以省略一维的长度,但是需要分行赋初值。
int arr[][4]={{1,2,3,4},{},{9,10,11,12}};
问:arr[1][2]=?
答:0 -
c语言中 结构体中有二维数组怎样赋初值
2021-05-22 16:02:20满意答案steven_bj推荐于 2018.02.28采纳率:55%等级:9已帮助:316人最基本...以此类推 ……数组不能整体直接赋值,以下情况除外:1. 初始化时赋值:typedef struct star{char name[8];char information[2][2];}MX;...满意答案
steven_bj
推荐于 2018.02.28
采纳率:55% 等级:9
已帮助:316人
最基本的方法就是:
mx[0].name[0] = x;
mx[0].information[0][0] = x;
以此类推 ……
数组不能整体直接赋值,以下情况除外:
1. 初始化时赋值:
typedef struct star
{
char name[8];
char information[2][2];
}MX;
MX mx[2] = {{"zhang",
{{'a','a'},
{'b','b'}}},//为了你能看清楚mx[0]分了三行,此处之前是mx[0],下面是mx[1]
{"lisi", {{'c','c'},{'d','d'}}}};
2. 把数组放在结构里,两个结构可以直接赋值。
3. memcpy等方法。
需要注意几点,
你的name是个字节,所以如果name的大括号里用“zhangsan”,会踩内存,初学者常犯的错误,因为这种赋值隐含了"\0",字符串的截止符,换句话说你赋值zhangsan是8个BYTE+“\0”,这样就超过name[8]了。
你可以尝试指针×pName;
10分享举报
-
解决Python二维数组赋值问题
2020-09-18 09:24:06今天小编就为大家分享一篇解决Python二维数组赋值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
【机试备考】Day17-数字填充 | vector二维数组赋初值
2021-02-05 10:31:24BUPT 2018 计算机 ProblemB | 暴力破解、vector<vector<string>>赋初值题目
BUPT 2018 计算机 ProblemB
用点阵表示数字,5*3的方格表示0~9,具体如下:0的表示:
111
101
101
101
1111的表示:
001
001
001
001
0012的表示:
111
001
111
100
1119的表示:
111
101
111
001
111输入描述
输入一个数字串,用点阵输出。
输出描述
按题意输出
示例
输入
02
输出
111111
101001
101111
101100
111111题解
刚开始没看懂这道题的01分布是什么规律,后来发现就是视觉上用1拼成的数字,然后就明白了这就是一道暴力题,没啥规律可言,一个一个写就行了
#include<bits/stdc++.h> using namespace std; int main() { string s; cin>>s; vector<vector<string>>number(10,vector<string>()); number[0]= {"111","101","101","101","111"}; number[1]= {"001","001","001","001","001"}; number[2]= {"111","001","111","100","111"}; number[3]= {"111","001","111","001","111"}; number[4]= {"101","101","111","001","001"}; number[5]= {"111","100","111","001","111"}; number[6]= {"111","100","111","101","111"}; number[7]= {"111","001","001","001","001"}; number[8]= {"111","101","111","101","111"}; number[9]= {"111","101","111","001","111"}; for(int i=0;i<5;i++) { for(int j=0;j<s.length();j++) cout<<number[s[j]-'0'][i]; cout<<endl; } }
【注意】输入的string,单个元素是char,别忘了
s[j]-'0'
才能转成int又忘记了,每次都因为这个找错耽误好多时间…
-
cpp代码-(二维数组)(1)随机数,赋值给二维数组(2)把主对角线副对角线的元素赋值给一维数组
2021-07-14 22:31:14cpp代码-(二维数组)(1)随机数,赋值给二维数组(2)把主对角线副对角线的元素赋值给一维数组 -
二维数组初始化为0的方式
2021-05-12 23:56:05采用赋值的方法,赋值一个为0,其余自动置0. 一、初始化;int a[100][100]={0}; 二、 1.int a[100][100]; 2.memset(a,0,sizeof(a)); 三、动态分配内存方式构建数组,把malloc函数改用成calloc函数。 -
如何给JAVA二维数组赋值
2021-04-11 11:32:10该楼层疑似违规已被系统折叠隐藏此楼查看此楼从文件里取出数据 按行存在一维数组里面 如何存进二维数组 我们方法显示不出来 求教public static void main(String[] args) throws IOException{BufferedReader reader=... -
在Python中建立N维数组并赋初值
2020-11-27 23:58:32标签:在Python中,由于不像C++/Java这样的语言可以方便的用a[i][j]=0的方式,建立二维数组并赋初值,所以需要一个相对巧妙的方法。可以用列表解析的方式,eg:>>> mat=[[0 for i in range(5)] for j in range(5)]>>>... -
C++ 二维数组的赋初始值
2020-03-05 10:13:04for(int i=0;i<10;i++) { p[i]=(char *)malloc(sizeof(char)*20); //为每个指针申请开设N字符的存储空间 } 2.第二种方式 int (*ps)[10]; int i,j,k; ps=(int(*)[10])malloc(sizeof(int(*)[10])*5); //申请开设5... -
memset二维数组赋值问题
2022-03-03 10:31:22当使用memset对整形数组赋值0和-1其他的值时,引发问题的原因,以及解决方案 -
c++给所有数组元素赋初值0
2020-11-23 12:18:44#include <bits/stdc++.h> using namespace std; int main(){ int a[7]; memset(a,0,sizeof(a)); for(int i=0;i<7;i++){ cout<<a[i]<<endl; } return 0; } -
怎样把java二维数组初始化为0
2021-02-12 11:13:01展开全部新new出来的二维数组就是已经初始为0了,或者利62616964757a686964616fe58685e5aeb931333337623462用循环依次赋值0;例如:publicclassMain{publicstaticvoidmain(String[]args){inta[][]=newint[5][5];for... -
C++vector实例 ,vector二维数组初始化赋值及函数参数
2021-04-16 21:42:47记录直接声明并定义二维数组vector: vector<vector<string>> tickets = { {"MUC""LHR"}, { "JFK" "MUC" }, { "SFO" "SJC" }, { "LHR" "SFO" } }; vector, int>>sortB(length); for (int i = 0; i ; i++) { sortB[i]... -
二维数组所有元素初始化为0
2017-11-08 14:49:15一、初始化;char a[3][3]={0}; 二、 1.char a[3][3]; 2.memset(a,0,sizeof(a)); 三、如果是动态分配内存方式构建数组的话,把malloc函数改用成calloc函数。 -
c语言二维数组如何初始化为0
2021-05-20 14:22:22c语言二维数组如何初始化1 有两种方法(1)在定义时可以直接赋值来初始化(2)在定义后可以为其元素一个个来赋值2 示例1234567891011121314151617181920212223242526272829#include《stdio.h》void display(int arr[2]... -
二维数组的赋值及初始化
2022-02-08 08:38:22例1: int aa[3][2]={ {1,2}, {3,4}, {5,6} }; printf("%d\n",aa[0][0]); 例2: char bb[3][4]={ "ni", "wo", "ta" ...printf("%s\n",bb[0]);...注意:二维数组名解引用才是一维数组名,才是指 -
通过赋初值按行顺序给2*3的二维数组赋予2,4,6...等偶数,然后按列的顺序输出该数组
2022-04-22 22:59:32#include<stdio.h> int main() { int a[2][3]; ... for(i=0;i<2;i++) { for(j=0;j<3;j++) { a[i][j]=k; k+=2; } } for(i=0;i<3;i++) { for(j=0;j<2;j++) { prin... -
java二维数组三种初始化方法(实例)
2021-02-12 10:27:02初始化方法:1、使用大括号直接赋值,适合已经确定知道数组元素的情况2、给定二维数组的大小3、数组第二维的长度可变化,未改变代码举例如下:public class NewArray {public static void main(String[] args) {//第... -
Verilog中的二维数组及其初始化
2019-05-04 00:00:13Verilog中的二维数组 Verilog中提供了两维数组来帮助我们建立内存的行为模型。具体来说,就是可以将内存宣称为一个reg类型的数组,这个数组中的任何一个单元都可以通过一个下标去访问。这样的数组的定义方式如下: ... -
vector型二维数组赋值问题
2022-04-01 21:07:05vector二维数组不像普通的二维数组 赋值方法为: 如果想要定义一个nn的二维数组并且给它赋值 1.首先定义一个初始大小为n的一维vector数组,假设n已知 vector arr(n, 0); 2.然后用这个一维数组给二维数组赋值 vector&... -
memset给整型数组赋初值
2016-11-18 11:17:47现有一个整型数组a[5],若要是用memset函数给每个元素赋初值1怎么做呢?是memset(a,1,5*sizeof(int))吗? 其实这样是不对的,memset是以字节为单位就是对array指向的内存的4个字节进行赋值,每个都用ASCII为1... -
二维数组的定义和遍历输出
2022-03-02 08:55:33//二维数组 //每个一维数组中的元素都是一个一维数组 //三维数组一样嵌套 public class ArrayDemo04 { public static void main(String[] args) { //定义一个一维数组 int[][] array={{1,2},{3,4},{5,6},{7,8}}... -
C语言-通过键盘给2x3的二维数组输入数据,第一行赋1、2、3,第二行赋10、20、30,然后按行输出此二维数组。
2020-08-23 23:22:06#include<... for(i=0;i<2;i++) { for(j=0;j<3;j++) scanf("%d",&a[i][j]); } printf("Output a 2-dimension array:\n"); for(j=0;j<2;j++) { for(i=0;i<3;i++) pr -
C++如何给二维数组初始化
2021-01-12 15:00:35C++给二维数组初始化的方法:首先定义两个整型变量,并给二维数组初始化不同的数值;然后用二重循环,输出数组中的各个数值;最后用大括号括起来的数字直接赋值。本文操作环境:Windows7系统,Dev-C++ 5.2.0.3版本,...