我想知道如何使用规则110,55行和14个单元格.然后我必须在LED矩阵显示器中显示它.
无论如何我的问题是,我怎样才能实现这样的自动机?
我真的不知道从哪里开始,有人可以说明如何处理这个问题?
我必须遵循一个具体的方法吗?
谢谢
--PROGRAM使用IS - > C.
编辑
char array[54][14];
for(v=0;v<55;v++){
for(b=0;b<15;b++){
if(org[v][b-1]==0 && org[v][b]==0 && org[v][b+1] == 0)
{
array[v][b]=0;
}
array[v][b]=org[v][b];
}
}
Run Code Online (Sandbox Code Playgroud)
那有意义吗 ??org代表原创
我创建了一个在Automator中切换键盘查看器的代码.
on run {input, parameters}
if application "KeyboardViewer" is running then
quit application "KeyboardViewer"
else
activate application "KeyboardViewer"
end if
return input
end run
Run Code Online (Sandbox Code Playgroud)
但是,键盘查看器成为当前运行的窗口,我无法立即开始键入(我必须切换回上一个窗口).是否有我可以添加的特定代码,以便再次突出显示上一个窗口?
我想允许用户键入要读取/写入的任何.txt文件的名称。
这是我的代码:
printf("Enter .txt file name\n");
scanf("%s",&fname);
FILE *inputf;
inputf=fopen(&fname,"w");
Run Code Online (Sandbox Code Playgroud)
问题是此方法不能用作参数(具有&fname)。
我可以想象它的原因,因为C需要它才能正常工作,即使我输入例如“ custom.txt”,程序也会返回错误“存储块不足以执行此操作”
什么是实现此目的的正确方法?
我使用C,我几乎使用基本命令..(不太先进)
非常感谢 !!!
我有一个我不太懂的功能
从0到110有109个地址.
这段代码如何将文本向左移动?
b=0;
while(b<109)
{
Display_Buffer[b] = Display_Buffer[b+1];
b++;
}
Run Code Online (Sandbox Code Playgroud)
如果b从0开始,那么b + 1应该将文本滚动到右边而不是??? 或者我错了?因为在0,b + 1表示地址是1,如果它是b-1,那么地址应该是110(因此向左滚动)......但不是这里的情况,有人可以提供粗略的解释吗?
display_buffer包含存储在其数组中的字符串信息.
-
编辑
多谢你们 !!如果我用[b-1]替换Display_Buffer [b + 1] ...会反转这个过程怎么办?怎么样 ?
好吧,我意识到我必须添加b = 109和while(b!= 0)..否则就没有意义了.
但是,如果Display_Buffer [109] = Display_Buffer [108],这是否意味着它会产生与你们回答的相同的效果,但相反?
我试图通过AppleScript检查应用程序是否打开
这是以下代码:
on run {input, parameters}
quit application "KeyboardViewer"
return input
end run
Run Code Online (Sandbox Code Playgroud)
但是我希望它首先检查KeyboardViewer是否打开,如果是,则退出应用程序,如果没有,则启动它.在某种程度上,代码应该切换应用程序.
我不熟悉AppleScript的编码(这里的第一个计时器)所以我很感激一些见解.
谢谢
编辑
我一直在尝试使用它,这似乎有效,是否有更有效的方法?我想看看你的意见
on run {input, parameters}
if application "KeyboardViewer" is running then
quit application "KeyboardViewer"
else
activate application "KeyboardViewer"
end if
return input
end run
Run Code Online (Sandbox Code Playgroud)
使用此脚本时有一个小的(少于1秒)延迟.有没有办法让它更快?
我是一个非常基本的用户,并不太了解C中使用的命令,所以请耐心等待...我不能使用非常复杂的代码.我对stdio.h和ctype.h库有一些了解,但就此而言.我在txt文件中有一个矩阵,我想根据输入的行数和列数来加载矩阵
例如,我在文件中有一个5乘5矩阵.我想提取一个特定的2乘2子矩阵,我该怎么做?
我创建了一个嵌套循环:
FILE *sample
sample=fopen("randomfile.txt","r");
for(i=0;i<rows;i++){
for(j=0;j<cols;j++){
fscanf(sample,"%f",&matrix[i][j]);
}
fscanf(sample,"\n",&matrix[i][j]);
}
fclose(sample);
Run Code Online (Sandbox Code Playgroud)
可悲的是代码不起作用..如果我有这个矩阵:
5.00 4.00 5.00 6.00
5.00 4.00 3.00 25.00
5.00 3.00 4.00 23.00
5.00 2.00 352.00 6.00
Run Code Online (Sandbox Code Playgroud)
并输入3为行,3为列,我得到:
5.00 4.00 5.00
6.00 5.00 4.00
3.00 25.00 5.00
Run Code Online (Sandbox Code Playgroud)
不仅这不是一个2乘2的子矩阵,但即使我想要前3行和前3列,它也不能正确打印....
我需要从第3行和第3列开始,然后采用2乘2的子矩阵!
我应该最终得到:
4.00 23.00
352.00 6.00
Run Code Online (Sandbox Code Playgroud)
我听说我可以使用fgets和sscanf来实现这一目标.这是我的试用代码:
fgets(garbage,1,fin);
sscanf(garbage,"\n");
Run Code Online (Sandbox Code Playgroud)
但这也不起作用:(
我究竟做错了什么 ?
请帮忙.谢谢 !