如果我使用sizeof运算符并size_t在我的代码中使用,我是否必须包含stddef.h?我没有包含stddef.h,我的代码在没有警告的情况下编译MVS2008和Borland C++ BuilderX.
非常感谢...
我只是在发现Sweave和R.我已经看过一些Sweave文档的例子,也开始自己写一两个.R直接在LaTeX文档中进行计算和输出结果的能力给我留下了深刻的印象.
现在我正在考虑更大的文档(我们通常拥有LaTeX),它包含几个页面和几个部分.使用LaTeX(我使用WinEdt),我设置一个主文档(例如main.tex),然后有其他附属文档,如introduction.tex,discussion.tex等.
我的问题是:我们也可以这样做Sweave吗?现在我Sweave单独使用单个文档(.Rnw).我们可以Sweave像往常一样拥有多个文件(有一个主文件和次要文件)LaTeX吗?
一种解决方法是使用单独的Sweave文件,然后将它们扫描以生成R LaTeX可以复制到LaTeX文档的块,但是整个想法似乎非常低效且耗时.
请知道您有哪些建议和解决方案.
非常感谢...
我在C中使用fopen将输出写入文本文件.函数声明是(ARRAY_SIZE之前定义的):
void create_out_file(char file_name[],long double *z1){
FILE *out;
int i;
if((out = fopen(file_name, "w+")) == NULL){
fprintf(stderr, "***> Open error on output file %s", file_name);
exit(-1);
}
for(i = 0; i < ARRAY_SIZE; i++)
fprintf(out, "%.16Le\n", z1[i]);
fclose(out);
}
Run Code Online (Sandbox Code Playgroud)
我的问题:
在使用MVS2008进行编译时,我收到警告:警告C4996:'fopen':此函数或变量可能不安全.考虑使用fopen_s代替.我没有看到太多信息,fopen_s以便我可以更改我的代码.有什么建议?
可以指示fprintf以所需的数字精度将数字写入文件吗?如果我正在使用long double那么我认为我的答案是好的,直到小数点后15位.我对吗?
我已经读过,当每次调用函数时不希望变量值改变/初始化时,静态变量在函数内部使用.但是如何在"main"之前在主程序中定义变量static,例如
#include <stdio.h>
static double m = 30000;
int main(void)
{
value = m * 2 + 3;
}
Run Code Online (Sandbox Code Playgroud)
这里变量m具有一个常量值,以后不会在主程序中修改.在同样的思路中,它有什么不同,而不是使用静态定义:
const double m = 30000;
Run Code Online (Sandbox Code Playgroud)
要么
#define m 30000 //m or M
Run Code Online (Sandbox Code Playgroud)
然后确保在主代码中使用双重操作,以便将m转换为正确的数据类型.
我有以下数据:
transaction <- c(1,2,3);
date <- c("2010-01-31","2010-02-28","2010-03-31");
type <- c("debit", "debit", "credit");
amount <- c(-500, -1000.97, 12500.81);
oldbalance <- c(5000, 4500, 17000.81)
evolution <- data.frame(transaction, date, type, amount, oldbalance, row.names=transaction, stringsAsFactors=FALSE);
evolution <- transform(evolution, newbalance = oldbalance + amount);
evolution
Run Code Online (Sandbox Code Playgroud)
运行
> library(xtable)
> xtable(evolution)
Run Code Online (Sandbox Code Playgroud)
工作良好.但是,如果我添加该行
evolution$date <- as.Date(evolution$date, "%Y-%m-%d");
Run Code Online (Sandbox Code Playgroud)
给
transaction <- c(1,2,3);
date <- c("2010-01-31","2010-02-28","2010-03-31");
type <- c("debit", "debit", "credit");
amount <- c(-500, -1000.97, 12500.81);
oldbalance <- c(5000, 4500, 17000.81)
evolution <- data.frame(transaction, date, type, amount, oldbalance, row.names=transaction, …Run Code Online (Sandbox Code Playgroud) 我刚刚开始写一些文档,Sweave/R我喜欢这个\sexpr{}命令让一个人直接在文本中写数字.
如果我有一个像这样的数字mus=0.0002433121,那么我可以把它四舍五入到一些小数位,例如
\Sexpr{round(mus,7)}
Run Code Online (Sandbox Code Playgroud)
如何用科学记数法写出来,即LaTeX输出
2.43 \times 10^{-4}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我们可以控制输出的有效位数,如3吗?
我注意到,如果我指定,会sigma = 2000000自动写入一个数字2e + 06
\Sexpr{round(sigma,2)}.
Run Code Online (Sandbox Code Playgroud)
我希望它会写成
2 \times 10^6
Run Code Online (Sandbox Code Playgroud)
与我们在LaTeX符号中得到的相同,也许我们也可以控制有效数字的数量.
怎么做到这一点?
我饶有兴趣地阅读了malloc和calloc之间的后C差异.我在我的代码中使用了malloc,想知道我使用calloc会有什么不同.
我目前的(伪)代码与malloc:
场景1
int main()
{
allocate large arrays with malloc
INITIALIZE ALL ARRAY ELEMENTS TO ZERO
for loop //say 1000 times
do something and write results to arrays
end for loop
FREE ARRAYS with free command
} //end main
Run Code Online (Sandbox Code Playgroud)
如果我使用calloc而不是malloc,那么我将:
Scenario2
int main()
{
for loop //say 1000 times
ALLOCATION OF ARRAYS WITH CALLOC
do something and write results to arrays
FREE ARRAYS with free command
end for loop
} //end main
Run Code Online (Sandbox Code Playgroud)
我有三个问题:
如果阵列非常大,哪个场景更有效?
如果阵列非常大,哪个场景会更有时间效率? …
我有一些数据:
transaction <- c(1,2,3);
date <- c("2010-01-31","2010-02-28","2010-03-31");
type <- c("debit", "debit", "credit");
amount <- c(-500, -1000.97, 12500.81);
oldbalance <- c(5000, 4500, 17000.81)
evolution <- data.frame(transaction, date, type, amount, oldbalance, row.names=transaction, stringsAsFactors=FALSE);
evolution$date <- as.Date(evolution$date, "%Y-%m-%d");
evolution <- transform(evolution, newbalance = oldbalance + amount);
evolution
Run Code Online (Sandbox Code Playgroud)
如果我输入命令:
type <- factor(type)
Run Code Online (Sandbox Code Playgroud)
type名义(分类)变量在哪里,那么它对我的数据有什么不同?
谢谢
我正在通过编译C程序来尝试Visual Studio 2010.在"DOS"命令窗口中显示解决方案后,窗口立即关闭.在Visual Studio 2008中,可以按任意键获取消息以继续,按一个键可关闭命令提示符窗口.如何在2010年设置此行为?
我在LaTeX中有两个问题:
如何将第1章重命名为纸张A?要将其重命名为Paper 1,我有这个解决方案:
\renewcommand\chaptername{Paper}
Run Code Online (Sandbox Code Playgroud)第一章然后成为论文1.但我不能将1重命名为A以便得到论文A.