小编Dav*_*son的帖子

如何从char数组中删除换行符?

我使用这个函数将文件的内容放在char数组中:

void Read::readFile(){
FILE * fp = fopen(this->filename,"rt");
fseek(fp, 0, SEEK_END);
long size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *pData = new char[size + 1];
fread(pData, sizeof(char), size, fp);
fclose(fp);
this->data = pData;
}
Run Code Online (Sandbox Code Playgroud)

现在我想从char数组中去掉所有的行结尾.如何在不首先将char-array转换为字符串的情况下执行此操作?

顺便说一句.这是我们不允许使用字符串库的作业的一部分.

c++ pointers char

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

列表索引必须是整数,而不是对象

家庭作业的代码有问题.基本上我要做的就是接受一个对象列表并将它们传递给我的fire方法.

def fire(self,targets):
    i = 0
    for i in targets:
        x,y = targets[i].position
        tx,ty = self.position
        d = getDist(targets[i].position, self.position)
Run Code Online (Sandbox Code Playgroud)

每当我调用fire方法并传入对象时,它就会指向第17行,即x,y = targets[i].position行,并说"TypeError:list indices必须是整数,而不是Bomber"

轰炸机是班级的名称.我像这样调用fire方法:

bOne.fire([bTwo, tOne, tTwo, tThree])
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢.

python list

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

Java:查找字符串中的最短单词并将其打印出来

我是Java的新手.我参加了C课,所以我试图摆脱这种思维模式.我正在编写的程序有一个部分,用户输入一个整数,n,然后输入n个单词.然后,此部分搜索这些单词并找到最短的单词,然后将其返回给用户.例如,输入可能是:

INPUT: 4 JAVA编程很有趣

输出:

我目前的代码似乎返回错误的单词.在这种情况下,它返回"PROGRAMMING",它应该返回"IS".我想也许你们都可以指出我正确的方向.

int numwords = scan.nextInt();
    String sentence = scan.nextLine();
    String shortestword = new String();
    String[] words = sentence.split(" ");
    for (int i = 0; i < numwords; i++){
        if (shortestword.length() < words[i].length()){
            shortestword = words[i];

        }
    }
    System.out.printf(shortestword);
Run Code Online (Sandbox Code Playgroud)

为了让你知道我想要做什么,我试图将单词输入一个字符串,"句子",然后将该字符串分解为数组中的单个单词,"words [],"然后运行for循环通过比较数组中条目的长度来比较字符串.谢谢您的帮助!

java arrays string loops

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

计算n ^ n中的第一个和最后一个k位

我需要打印第一个k数字和最后一个k数字


n^n (n to the power of n, where n is an integer) 例如 :


Input       Output

n k         First k digits       Last k digits

4 2    -->  25                   56
9 3    -->  387                  489
Run Code Online (Sandbox Code Playgroud)

我觉得它需要一些聪明的数学,但是我无法想到任何东西.请建议一种解决问题的方法.

c java algorithm math

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

通过键从listOfLists组中获取最小的项目

我有一个像这样的清单

listOfLists = [['key2', 1], ['key1', 2], ['key2', 2], ['key1', 1]]
Run Code Online (Sandbox Code Playgroud)

内部列表的第一项是密钥.内部列表的第二项是值.

我想得到一个输出[['key1', 1], ['key2', 1]],它给出列表,它的值是具有相同键的列表中的最小值,而键是输出组(我的英语很差,所以只使用Sql语法的概念)

我写了一些像这样的代码:

listOfLists = [['key2', 1], ['key1', 2], ['key2', 2], ['key1', 1]]
listOfLists.sort()    #this will sort by key, and then ascending by value
output = []
for index, l in enumerate(listOfLists):
    if index == 0:
        output.append(l)
    if l[0] == listOfLists[index - 1][0]:
        #has the same key, and the value is larger, discard
        continue
    else:
        output.append(l)
Run Code Online (Sandbox Code Playgroud)

这似乎不够聪明是否有更简单的方法来完成这项工作?

python

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

即使两个值相同,strcmp()如何返回-1?

当我将输入设为'x'时,compVal将值设为-1.我期待0,因为两个值都相同.请有人解释原因.

char ch = getchar();
int compVal = strcmp("x", &ch);
Run Code Online (Sandbox Code Playgroud)

c

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

ggplot2中的颜色参数和aes颜色之间的区别?

当我像这样在 aes 中使用颜色时

ggplot(data=olympia,aes(x=year)) + geom_line(aes(y=gold,colour="red")) + geom_line(aes(y=silver,colour="blue"))
Run Code Online (Sandbox Code Playgroud)

这是行不通的。

如果我使用 color 参数,它会显示正确的颜色红色和蓝色

ggplot(data=olympia,aes(x=year)) + geom_line(aes(y=gold),colour="red") + geom_line(aes(y=silver),colour="blue")
Run Code Online (Sandbox Code Playgroud)

有什么不同?有什么问题?

数据框

year gold silver
1 2002   12     16
2 2006   11     12
3 2010   10     13
4 2014    8      3
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

设置 R ggplot2 的 x 轴

如何使 x 轴显示“xaxisTitles”向量中的文本?

这是我可以运行的代码:

require(ggplot2)
require(reshape)

xaxisTitles<- cbind("a","b","c","d","e","f","g","h","j","k")
df <- data.frame(time = 1:10,
             a = cumsum(rnorm(10)),
             b = cumsum(rnorm(10)),
             c = cumsum(rnorm(10)))
df <- melt(df ,  id = 'time', variable_name = 'series')

# plot on same grid, each series colored differently -- 
# good if the series have same scale
ggplot(df, aes(time,value)) + geom_line(aes(colour = series))+ theme(axis.text.x =     xaxisTitles)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Error in (function (el, elname)  : 
  Element axis.text.x must be a element_text object.
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

重命名内置的python方法,如replace()

我正在编写一个使用该string.replace()方法的python脚本.我知道如果我从模块导入python方法,我可以使用from如下更改名称:

from time import sleep as x
Run Code Online (Sandbox Code Playgroud)

然后,x(5)将是相同的time.sleep(5).但是我该怎么做到replace()函数呢?它不是来自任何外部模块,我试图这样做:

x = replace()
Run Code Online (Sandbox Code Playgroud)

但它不起作用.它说NameError: name 'replace' is not defined.

所以请告诉我如何"重命名"内置替换功能.

python replace module

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

如何在同一 X 轴的同一面板上绘制具有两个不同 y 轴范围的点?

我正在尝试使用 ggplot 创建一个散点图,该散点图共享一个 X 轴,但具有一个具有两个不同比例的 Y 轴。

Y轴的底部有三个刻度,从0%到0.1%,然后是0.1%到1%,最后是10%的规则间隔。

这里的一个例子:

在此处输入图片说明

有没有办法使用 ggplot 在 R 中产生这样的东西?我会修改轴吗?在同一个面板上叠加多个图?或者是其他东西?

r axes ggplot2 multiple-axes

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

标签 统计

ggplot2 ×3

python ×3

r ×3

c ×2

java ×2

algorithm ×1

arrays ×1

axes ×1

c++ ×1

char ×1

list ×1

loops ×1

math ×1

module ×1

multiple-axes ×1

pointers ×1

replace ×1

string ×1