我想在C中反复清零一个大的2d数组.这就是我现在所做的:
// Array of size n * m, where n may not equal m
for(j = 0; j < n; j++)
{
for(i = 0; i < m; i++)
{
array[i][j] = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用memset:
memset(array, 0, sizeof(array))
Run Code Online (Sandbox Code Playgroud)
但这仅适用于1D阵列.当我打印2D阵列的内容时,第一行是零,但随后我得到了一大堆随机大数字,它崩溃了.
假设我想在前面显示带有可变数量的填充零的数字123.
例如,如果我想以5位数显示它,我会有数字= 5给我:
00123
Run Code Online (Sandbox Code Playgroud)
如果我想以6位数显示它,我会有数字= 6给出:
000123
Run Code Online (Sandbox Code Playgroud)
我将如何在Python中执行此操作?
假设我想将一个标签放在另一个标签旁边.目前我通过点击并拖动来完成此操作.这样可以提高工作效率,因为如果我在iTerm中切换2个常规任务,我想将标签放在一起,这样我就可以快速切换它们.
我可以切换使用键盘快捷键在cmd +}和CMD + {选项卡之间.
但有没有办法使用键盘快捷键移动标签?
我想创建一个非常大的数组,我在其上写'0'和'1'.我试图模拟一个称为随机顺序吸附的物理过程,其中长度为2的单位二聚体在随机位置沉积在n维晶格上,彼此不重叠.当晶格上没有剩余空间用于沉积更多二聚体(晶格被堵塞)时,该过程停止.
最初我从一个零点开始,二聚体用一对'1'表示.当每个二聚体沉积时,二聚体左侧的位点被阻断,这是因为二聚体不能重叠.因此,我通过在晶格上存储三个'1'来模拟这个过程.我需要重复整个模拟很多次,然后计算出平均覆盖率%.
我已经使用1D和2D格子的字符数组完成了这项工作.目前,我正在尝试使代码尽可能高效,然后再处理3D问题和更复杂的概括.
这基本上是1D中代码的样子,简化:
int main()
{
/* Define lattice */
array = (char*)malloc(N * sizeof(char));
total_c = 0;
/* Carry out RSA multiple times */
for (i = 0; i < 1000; i++)
rand_seq_ads();
/* Calculate average coverage efficiency at jamming */
printf("coverage efficiency = %lf", total_c/1000);
return 0;
}
void rand_seq_ads()
{
/* Initialise array, initial conditions */
memset(a, 0, N * sizeof(char));
available_sites = N;
count = 0;
/* While the lattice still has enough room... */ …Run Code Online (Sandbox Code Playgroud) 当我在vim中写一长串文本时(例如乳胶中的一个段落),它将我的文本包装成多行,这很好.但是,如果我尝试使用'j'和'k'(或向上/向下箭头)导航这些行,它将跳过整个段落.我通过突出显示段落并按下来解决了这个问题gq.这会在每行的末尾插入换行符.
我的问题是,有没有办法自动化这个,所以我不必继续突出显示文本并按gq?
任何人都可以帮我这个:我想弄清楚如何在不同终端上的两个不同的vim实例之间复制和粘贴文本(使用iterm2或mac终端).如果我执行":set mouse = a",我可以使用鼠标来完成它,但我希望能够使用键盘来完成它.
我已经google了一下,它说你可以使用"*或"+寄存器复制/粘贴到系统剪贴板中,但是当我在vim中输入*或+时,mac会在你发出的声音中发出其中一个声音不能做某事.我也完成了":set clipboard = unnamed",但这也没有用.
我正在使用Mac OSX 10.7(Lion)和iTerm2或Mac终端.
谢谢您的帮助
我知道在gnuplot上你可以用圆圈绘制一些数据作为绘图点:
plot 'data.txt' using 1:2 ls 1 with circles
Run Code Online (Sandbox Code Playgroud)
然后我如何设置圆圈的大小?我想绘制几组数据,但每个数据集的大小不同.
在命令行中,vim可以打开4个水平分割的文件,
vim -o file1 file2 file3 file4
Run Code Online (Sandbox Code Playgroud)
或4个垂直分割的文件,
vim -O file1 file2 file3 file4
Run Code Online (Sandbox Code Playgroud)
如何打开4个文件,使它们水平和垂直分割,这样?:
-----------
| | |
| 1 | 2 |
| | |
-----------
| | |
| 3 | 4 |
| | |
-----------
Run Code Online (Sandbox Code Playgroud) 我想编写一个bash脚本来使用名为xmgrace的绘图工具自动绘制数据,但我希望能够选择绘制哪些列.
在我的数据文件中说我有3列,第1和第3列中有x和y数据.当数据以这种方式格式化时,如何用x绘制y?
我尝试xmgrace -bxy [1:3] data但是没有用,它说No block data read并将第二列视为y值.
我在编译一个简单的fortran程序时遇到了麻烦,该程序在同一目录中使用了一个模块.我有2个文件:test1.f90,其中包含程序和modtest.f90,其中包含模块.
这是test1.f90:
program test
use modtest
implicit none
print*,a
end program test
Run Code Online (Sandbox Code Playgroud)
这是modtest.f90:
module modtest
implicit none
save
integer :: a = 1
end module modtest
Run Code Online (Sandbox Code Playgroud)
两个文件都在同一目录中.我像这样编译modtest.f90和test.f90:
gfortran -c modtest.f90
gfortran -o test1 test1.f90
Run Code Online (Sandbox Code Playgroud)
但后来我得到了这个错误:
/tmp/cckqu8c3.o: In function `MAIN__':
test1.f90:(.text+0x50): undefined reference to `__modtest_MOD_a'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?谢谢您的帮助