h**o 发帖数: 548 | 1 贴个我的吧:
#define FOURK 4096
class readbuf{
readbuf(){nsize = 0; ptr = 0;}
char buf[FOURK];
int ptr;
int nsize;
int readN(char*dst, int n);
int readLine(string& s);
};
int readbuf::readN(*dst, int n){
if (!dst) return 0;
int bytes = 0;
while(n>0){
if (nsize==0) {nRead = read4K(buf); nsize = nRread; ptr = 0;}
min = min(n, nsize);
bytes+=memcpy(dst+bytes, buf, min);
ptr+=min; n-=min; nsize-=min;
if (nRead0 or ==0... 阅读全帖 |
|
p*****e 发帖数: 53 | 2 实在看不出哪里不对,只能来这里求助高手帮忙看看了
非常感谢!!!
1.
int IsSecretPassword(char *ptrstring)
{
char temp[1024];
if(ptrstring)
{
strcpy(temp, ptrstring);
for (int i =0; i
{
temp[i] = toupper(temp[i]);
}
if (strcmp(temp, "TEST")==0)
return 1;
else
return 0;
}
return 0;
}
2.
int* MakeArray(int nsize)
{
int *ptr = 0;
if(nsize <=0)
return NULL;
ptr = (int*)malloc(sizeof(int... 阅读全帖 |
|
c***r 发帖数: 4631 | 3 俺系业余爱好的,上来玩玩。
1,
int IsSecretPassword(char *ptrstring)
{
if( null == ptrstring ) return 0;
int n = strlen(ptrstring);
if( n > 0)
{
char * temp = malloc(n+1);
int r;
strcpy(temp, ptrstring);
for (int i =0; i
{
temp[i] = toupper(temp[i]);
}
if (strcmp(temp, "TEST")==0)
{
r=1;
}
else
{
r = 0;
}
free(temp);
return r;
}
return 0;
}
2,
int* MakeArray(u... 阅读全帖 |
|
x*********w 发帖数: 533 | 4 以前有写过这题,不知道对不对
========================================================
/*
有个封装好的函数int block_reader(char *buf),内部有个静态文件指针,
只能向文件末尾移动,不能rewind,每次只能读取K的block到buf里,返回读取
的字节数(除非到文件尾,否则总是K)要求实现int anysize_reader(char *buf, int
size)从文件的
当前位置读取任意大小的数据存入buf,并返回实际读到的数据字节数,白板写code
*/
const int k = 1024;
char buffer[k];
int nSize = 0;
int block_reader(char *buf);
void moveToBuf(char*& pWriter, int n)
{
if (n <= 0 || pWriter == NULL || nSize < n)
return;
memcpy(pWriter, buffer, n);
... 阅读全帖 |
|
r**h 发帖数: 1288 | 5 题目不要求subarray是连续的吧
DFS,就是根据每个节点(取或者不取)两种情况向后搜索并记录当前的解。由于题目
里面提到数组中所有元素都是正数,因此如果当前的和已经大于sum那么就可以直接剪枝
void findSubSetSum(int *pArr, int *pSub, int nSize, int nIndex, int curSum,
int nSum){
//剪枝
if(curSum+pArr[nIndex] > nSum)
return;
//找到解
if(curSum+pArr[nIndex] == nSum){
pSub[nIndex] = 1;
printResult(pArr, pSub, nIndex);
pSub[nIndex] = 0;
return;
}
//继续向后搜索,分两种情况
if(nIndex < nSize-1){
pSub[nIndex] = 1;
findSubSetSum(pArr, pSub, nSize, nIndex+1, curSum+pArr[nIndex... 阅读全帖 |
|
h**o 发帖数: 548 | 6 int readbuf::readLine(string& s){
int bytes = 0; bool endline = false;
while(1){
if (nsize==0) {nRead = read4K(buf); nsize = nRread; ptr = 0;}
for(; ptr< FOURK && nsize>0;ptr++, nsize--) {
s.append (buf[ptr]); bytes++;
if (buf[ptr] == ' 0 ' || buf[ptr] ==' n') endline=true;
}
if (endline || nRead
}
} |
|
w***n 发帖数: 1137 | 7 如果msize, nsize, ksize,都是300, 没有问题,如果改成3000, 就出现
[mpirund] rank 0 has got signal 11
[mpirund] rank 1 has got signal 11
我用了两个节点计算。
#include
#include "mpi.h"
#define msize 3000
#define nsize 3000
#define ksize 3000
#define MTRSIZE msize*nsize
main(int argc, char* argv[]) {
int p;
int my_rank;
double A[MTRSIZE];
double D[MTRSIZE];
MPI_Status status;
MPI_Comm comm;
long int matrix_size=MTRSIZE;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WO |
|
w****x 发帖数: 2483 | 8 //serialize, deserialize vector
int serialize(vector& vec, char* str)
{
if (str == NULL)
return 0;
char* pWriter = str;
*((int*)pWriter) = vec.size();
pWriter += sizeof(int);
for (int i = 0; i < vec.size(); i++)
{
strcpy(pWriter, vec[i].c_str());
pWriter += 1 + strlen(pWriter);
}
return pWriter - str;
}
void deserialize(char* str, vector& vec)
{
if (NULL == str)
return;
int nSize = *((int*)str);
c... 阅读全帖 |
|
b****o 发帖数: 403 | 9 PIXELFORMATDESCRIPTOR 第一个成员是nSize, 初始化的时候必须赋值为sizeof(
PIXELFORMATDESCRIPTOR),为什么需要这样得到这个nSize呢?大小已经固定了啊。
请指点 |
|
i***o 发帖数: 1509 | 10 sensitive N,1,2不是dry max。swaddle 比Nsize再小一个号的也不是
baby dry也不是啦。 |
|
c**********o 发帖数: 93 | 11 哈哈哈哈,我买东西本来就纠结(¬_¬)
眼花了之后就演变成挣扎啦(T ^ T)
先在20%上小下了一手,真是不敢多进货。也不知道这娃儿肥不肥啊,看不少屯Nsize
的都没用上。
哈哈哈哈,向你们看齐,坚决省粉钱儿! |
|
L*******r 发帖数: 1011 | 12 Google就是好用。呵呵,以后见面就说:同学,今天你google没有? :)
注:我自己没有这么做过,我的系统只要集成原来的COM系统.
http://www.aspx.cn/comm/dotnetbbs/Showtopic.aspx?Forum_ID=6&Id=5284
指针类型参数传递:
在Windows API函数调用时,大部分函数采用指针传递参数,对一个结构变量指针,我
们除了使用上面的类和结构方法传递参数之外,我们有时还可以采用数组传递参数。
下面这个函数通过调用GetUserName获得用户名
BOOL GetUserName(
LPTSTR lpBuffer, // 用户名缓冲区
LPDWORD nSize // 存放缓冲区大小的地址指针
);
[DllImport("Advapi32.dll",
EntryPoint="GetComputerName",
ExactSpelling=false,
SetLastError=true)]
static extern bool GetComputerName (
[MarshalAs(Unmana |
|
b****o 发帖数: 403 | 13 我想你是对的,第二个参数是版本号,目前强制为1,可能将来这个nSize另有用处 |
|
h*******s 发帖数: 8454 | 14 6 不知道了
难道是nsize <0 怎么办? |
|
d*******o 发帖数: 493 | 15 Try
memory.limit(size=WHAT YOU HAVE)
or
mem.limits(nsize = NA, vsize = NA) |
|
d*******o 发帖数: 493 | 16 I am curious why you use windows xp 32bit with 9GB memory.
By the way, mem.limits(nsize = NA, vsize = NA) is for non-PC platforms. |
|