小编Reg*_*ser的帖子

使用sed脚本从文本文件中删除时间戳

127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/ HTTP/1.1" 200 169 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/.treeinfo HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/Fedora HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/Server HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/Client HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/RedHat HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/CentOS HTTP/1.1" …
Run Code Online (Sandbox Code Playgroud)

string bash awk sed

2
推荐指数
1
解决办法
1万
查看次数

两种不同事物之间的比较语法

以下程序给出错误

#include<stdio.h>
int main ()
{
int a=10,b;
a>=5?b=100:b=200;
printf("\n%d",b);
}
Run Code Online (Sandbox Code Playgroud)

错误是

ka1.c: In function ‘main’:
ka1.c:5: error: lvalue required as left operand of assignment
Run Code Online (Sandbox Code Playgroud)

现在,如果我更换线

a>=5?b=100:b=200;
Run Code Online (Sandbox Code Playgroud)

通过

a>=5?b=100:(b=200);
Run Code Online (Sandbox Code Playgroud)

然后编译然后没有错误.所以我想知道出了什么问题

a>=5?b=100:b=200;
Run Code Online (Sandbox Code Playgroud)

c operators

2
推荐指数
1
解决办法
700
查看次数

位移不同导致类似的程序

这是一个程序

#include<stdio.h>
#include<stdlib.h>
int main()
{
 unsigned char a=0x80;
 printf("%d\n",a<<1);
}
Run Code Online (Sandbox Code Playgroud)

上面的输出是256 现在这里是上述程序的另一个版本

#include<stdio.h>
#include<stdlib.h>
int main()
{
 unsigned char a=0x80;
  a=a<<1;
 printf("%d\n",a);
}
Run Code Online (Sandbox Code Playgroud)

上面的输出是

0
Run Code Online (Sandbox Code Playgroud)

据我了解,我无法看到两者之间的任何差异?也就是为什么输出在第一个中输出256而在第二个程序中输出0在两个语句中的差异是什么?

c bit-manipulation bit-shift

2
推荐指数
2
解决办法
132
查看次数

来自Cormen的max heapify算法,具有零索引

我想实现的算法给出书最大heapify算法这里 在本书中的算法中是

 MAX-HEAPIFY(A,i)
1   l<-LEFT(i)
2   r<-RIGHT(i)
3  if l<=heap-size[A] and A[l]>A[i]
4    then largest<--l
5    else largest<--i
6 if r<=heap-size[A] and A[r]>A[largest]
7    then largest <->r
8 if largest!=i
9    then exchange A[i]<->A[largest]
10        MAX-HEAPIFY(A,largest)
Run Code Online (Sandbox Code Playgroud)

我的问题是我的数组从Zero开始.在书中他们认为如果父母的索引是i,那么左子是2i而右子是2i + 1但是当他们的索引从1开始时.在我的情况下它是零所以我应该如何计算左右孩子的指数?

c algorithm heap heapsort

2
推荐指数
1
解决办法
3706
查看次数

关于使用grep的问题

 127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/ HTTP/1.1" 200 169 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/.treeinfo HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/Fedora HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/Server HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/Client HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/RedHat HTTP/1.1" 404 182 "-" "Python-urllib/2.6"
127.0.0.1 - - [08/Mar/2011:00:26:27 +0530] "HEAD /sk/CentOS HTTP/1.1" …
Run Code Online (Sandbox Code Playgroud)

regex search grep

1
推荐指数
1
解决办法
131
查看次数

在bash中删除给定文件夹中的所有目录

我正在尝试编写一个shell脚本来删除给定目录中的所有子目录.我知道有一个简单的方法.喜欢这样做

find ./ -type d -exec rm -r {} \;
但是因为我正在学习shell脚本,所以我更愿意为它编写一个脚本.这是我的方法

for i in `ls ./*`; do
if [ -d $i ];then
rm -r $i
fi
done
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时,这给了我以下错误

rm:无法删除目录:`.'

在给出这个错误后,这个停止.所以我的方法中的错误是什么.据我所知,空白名称应该会产生一些问题.但是这个剧本未能走得那么远.

bash shell

1
推荐指数
1
解决办法
5281
查看次数

在'{'令牌c程序之前的预期表达式

我编写了以下代码,我在编译这段代码时解决了一个难题

#include <stdio.h>
int main ()
{

int a[10],b[10],c[10];
int i,j,k,l;
 a[10]={"21","33","12","19","15","17","11","12","34","10"};
 b[10]={"10","15","9","13","16","21","15","32","29","7"};
 c[10]={"11","8","3","6","1","4","6","20","19","3"};

 l=sizeof(a)/sizeof(a[0]);

for (i=0;i<=l;i++)
 {
 }
}
Run Code Online (Sandbox Code Playgroud)

给我错误

array.c: In function ‘main’:
array.c:7:8: error: expected expression before ‘{’ token
array.c:8:8: error: expected expression before ‘{’ token
array.c:9:8: error: expected expression before ‘{’ token
Run Code Online (Sandbox Code Playgroud)

为什么错误会在这里?

c syntax-error

1
推荐指数
1
解决办法
8656
查看次数

printf("LIST.H")其中LIST.H是一个宏

#include <stdio.h>
#include<stdlib.h>
#define LIST.H onus;

int main ()
{
         char *p,*s;
         printf(" LIST.H ");
}
Run Code Online (Sandbox Code Playgroud)

我希望LIST.H打印onus出来.但这不会发生.编译后我收到警告

temp.c:3:13: warning: missing whitespace after the macro name
Run Code Online (Sandbox Code Playgroud)

输出是LIST.H而不是onus.如何通过上面的宏打印所需的东西?

更新
我希望输出onus与字符串前后的一个空格一样.

c macros printf

0
推荐指数
1
解决办法
296
查看次数

使用Levenshtien距离的社交网络

这是取自一个问题在这里

如果Levenshtein距离为1,则两个单词是朋友(有关详细信息,请参阅http://en.wikipedia.org/wiki/Levenshtein_distance).也就是说,您可以在单词X中添加,删除或替换正好一个字母来创建单词Y.单词的社交网络由其所有朋友,所有朋友以及他们所有朋友的朋友组成,依此类推.写一个程序,告诉我们"你好"这个词的社交网络有多大,使用这个单词列表https://raw.github.com/codeeval/Levenshtein-Distance-Challenge/master/input_levenshtein_distance.txt 输入

您的程序应该接受第一个参数作为文件名的路径.输入文件包含单词列表.此列表也可在https://raw.github.com/codeeval/Levenshtein-Distance-Challenge/master/input_levenshtein_distance.txt 输出获得.

打印出"你好"这个词的社交网络有多大.例如,'abcde'这个词的社交网络是4846.

任何人都可以帮助提出相同的逻辑.这不是家庭工作的问题.

algorithm

0
推荐指数
1
解决办法
606
查看次数