小编Ren*_*Ren的帖子

动态内存分配,C++

我需要编写一个可以读取文件的函数,并将所有唯一的单词添加到动态分配的数组中.我知道如何创建一个动态分配的数组,例如,如果你要求数组中的条目数:

int value;
cin >> value;
int *number;
number = new int[value];
Run Code Online (Sandbox Code Playgroud)

我的问题是我提前不知道文件中有多少个独特的单词,所以我最初不能只读取值或要求它.此外,我需要使用数组,而不是向量.有没有办法使用动态分配的数组执行类似于push_back的操作?

现在,我唯一能想到的就是首先创建一个存储文件中所有单词的数组(1000),然后让它通过它并找到唯一单词的数量.然后使用该值创建一个动态分配的数组,然后我再次通过该数组来存储所有唯一的单词.显然,对于应该有更有效解决方案的东西来说,这个解决方案听起来非常落伍.

有人能指出我正确的方向,是否有更好的方法?我觉得这对矢量来说相当容易,所以我认为要求它成为一个数组是有点愚蠢的(除非在这个家庭作业中需要了解动态分配数组的一些重要事项).

编辑:这是另一个问题.我知道文件中会有1000个单词,但我不知道会有多少个单词.这是一个想法.我可以创建一个1000个元素的数组,将所有独特的单词写入该数组,同时跟踪我已完成的数量.完成后,我可以配置一个动态分配带有该计数的新数组,然后将这些单词从初始数组复制到第二个数组.不确定这是否最有效,但由于我们无法使用向量,我认为效率不是这项任务中的一个重要问题.

c++ arrays vector

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

Haskell函数模式匹配问题

我正在做一些功课,虽然我有一些SML的经验,但Haskell有些奇怪之处.考虑这个简单的功能:

type Pos = (Int, Int)
data Move = North | South | East | West
move :: Move -> Pos -> Pos
move North (x,y) = (x, y+1)
move South (x,y) = (x, y-1)
move East  (x,y) = (x+1, y)
move West  (x,y) = (x-1, y)

moves :: [Move] -> Pos -> Pos
moves (m:ms) (x,y) = moves ms (move m (x,y))
moves [] p = p
Run Code Online (Sandbox Code Playgroud)

这段代码有效.但是,如果我交换(x,y)元组(我不使用p它),简单的调用失败(声明当然可以正常工作):

moves :: [Move] -> Pos -> Pos …
Run Code Online (Sandbox Code Playgroud)

haskell

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

在C++中使用C-Strings解析URL

我正在为我的一个CS类学习C++,而对于我们的第一个项目,我需要使用c-strings解析一些URL(即我不能使用C++ String类).

我能想到接近这个的唯一方法就是迭代(因为它是一个char [])并使用一些switch语句.来自在C++方面经验丰富的人 - 有更好的方法吗?你能指点我一个好的在线资源吗?我还没找到一个.

c++ string

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

由另一个变量乘以变量?

我有一个我需要编写的C类程序.程序要求数量,我需要将该数量乘以用户输入的另一个变量.ac类的基本计算器脚本:)

我把它设置成这样,

    int qty; //basic quantity var
float euro, euro_result;

//assign values to my float vars
euro = .6896; //Euro Dollars
    euro_result = euro * qty; // Euro Dollars multiplied by user input qty

//start program for user
printf("Enter a quantity: ");

//alow user to input a quantity
scanf("%d", &qty);

printf("Euro:       %f \n", euro_result);
Run Code Online (Sandbox Code Playgroud)

为什么它不能按预期工作?

c calculator

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

在Java中构造新对象时出现Stack Overflow错误

我正在尝试使用一组特定值构造一个PackingCase对象.虽然程序在编码期间没有显示错误,但在运行时,我收到此错误;

Exception in thread "main" java.lang.StackOverflowError
at assignment.pkg2.PackingCase.<init>(PackingCase.java:59)
at assignment.pkg2.PackingCase.<init>(PackingCase.java:60)
Run Code Online (Sandbox Code Playgroud)

我的代码如下;

public class PackingCase {
// private fields go here

int serialNumber;
int timesUsed;
int timeCreated;
int timeStored;
String name;
String description;


void setCase(int s, int TU, int TC, int TS){
    serialNumber = s;
    timesUsed = TU;
    timeCreated = TC;
    timeStored = TS;

}

double volume(){
    return serialNumber*timesUsed*timeCreated*timeStored;
}

public PackingCase(){ 
    PackingCase PC1 = new PackingCase();
    double vol;

    PC1.setCase(1, 2, 3, 4);

    vol = PC1.volume();
    System.out.println(""+vol);




}
Run Code Online (Sandbox Code Playgroud)

第59行是"public PackingCase(){",第60行是"PackingCase PC1 …

java stack-overflow object

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

为什么这些字符串不是单独显示的?

在文件中写下person的内容

名字:Abcd

SecondName:Tsfsdfs

为此,我写了一个示例应用程序

namespace BinaryStream
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamWriter binWriter = new StreamWriter(@"c:\happybirthday.txt");
            string name = "Sachin";
            string secondname = "tendulkar";
            string wishes = "happy birthday";

            string firstname = string.Format("FirstName: {0} \n", name);
            binWriter.Write(firstname);
            string sn = string.Format("SecondName: {0} \n", secondname);
            binWriter.Write(sn);
            binWriter.Close();          
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我打开记事本中的内容,字符串不会显示在下一行中这是什么原因?格式部分是否正确?

c# string

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

这种形式安全吗?

我有这种形式,用户通过该表单向我发送电子邮件.我不知道它是否安全,或者只有涉及sql时才出现安全问题...

HTML:

<form id="form4" action="send_mic.php"  name="form4" method="post" >

           <textarea name="message4" cols="4" rows="4"  id="message4" ></textarea><br />

           <input type="text"  id="name4" name="name4" value="" /><br />

           <input type="text"  id="email4" name="email4" value=""  /><br />

          <input type="submit" value="" id="submit" />

</form>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

<script type="text/javascript">
$(document).ready(function () {
    $('#form4').ajaxForm({
        beforeSubmit: validate
    });

    function validate(formData, jqForm, options) {
        var name = $('input[name=name4]').fieldValue();
        var email = $('input[name=email4]').fieldValue();
        var message = $('textarea[name=message4]').fieldValue();

        if (!name[0]) {
            alert('Please enter a value for name');
            return false;
        }
        if (!email[0]) {
            alert('Please enter a …
Run Code Online (Sandbox Code Playgroud)

html php forms security jquery

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

执行readLine()时套接字卡住了

我试图通过Java中的套接字连接到POP服务器.我做了以下代码来运行LIST命令列出来自服务器的所有电子邮件.但我不知道为什么在第二个readLine()上读取第二行以及之后,我的应用程序挂起.

popSock = new Socket(mailHost, pop_PORT);
inn = popSock.getInputStream();
outt = popSock.getOutputStream();
in = new BufferedReader(new InputStreamReader(inn));
out = new PrintWriter(new OutputStreamWriter(outt), true);

//USER and PASS commands to auth the server are ok

out.println("LIST");
String response = in.readLine();
System.out.println(response);

//Attempt to read the second line from the buffer but it hangs at here.
response = in.readLine();
System.out.println(response);
Run Code Online (Sandbox Code Playgroud)

在第二个in.readLine(),应用程序卡在这里,并没有从这里继续.当我LIST在telnet上运行命令时,我得到了整个电子邮件列表.所以我应该从套接字得到相同的响应,但我不是.我该如何从服务器逐行读取整个响应?

java sockets

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

我怎么画一堆正方形?

我是python的新手.我需要为大学绘制这个形状,但我发现它真的很难,所以我想在进入那个图像之前做正方形.

无论如何这里是我的问题:我怎么能有8行?(1行中有8个方格)我不能继续添加def start_point1():这不是正确的方法.

在此输入图像描述

#!/usr/bin/python

import turtle as t
import time

def start_point():
    t.penup()
    t.setpos(-200,-240)
    t.pendown()

def start_point1():
    t.penup()
    t.setpos(-200,-180)
    t.pendown()

def draw_turtle():
    for a in range(4):
        t.forward(60)
        t.left(90)

def draw_turtlerow():
    for a in range(8):
        draw_turtle()
        t.forward(60)



def main():
    start_point()
    draw_turtlerow()
    start_point1()
    draw_turtlerow()
Run Code Online (Sandbox Code Playgroud)

python turtle-graphics

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

具有多个值的C ++堆栈

我下面有一些代码。这段代码是我创建的一个基本的推入/弹出堆栈类,作为使某人能够推入/弹出堆栈的模板。我有一个作业分配,现在我想做的是创建一个具有多个值的堆栈。

因此,我希望能够创建一个基本上可以发送三个整数的堆栈,也可以在其中推入/弹出这些整数。我要寻找的是关于该如何工作的理论,而我并不想让别人替我做家庭作业。

场景是我们正在处理零件。因此,用户将输入序列号(int),生产日期(int)和lotnum(int)。所以我的问题是:

  1. 当我“弹出”值时,我应该尝试在弹出期间发送所有三个值还是以其他方式处理?
  2. 我是否应该尝试使用类似类之类的结构来创建新类?

    /****************************************************************************
    Inventory class.
    
    Chad Peppers
    
    This class creates a object for stacking nodes
    
    In addition, there should be member functions to perform the following 
    operations:
    - Push to the stack
    - Pop to the stack
    - Function to check if empty
    
    ****************************************************************************/
    // Specification file for the DynIntStack class
    
    template <class T>
    class Inventory
    {
    private:
       // Structure for stack nodes
       struct StackNode
       {
          T value;        // Value in the node
          StackNode *next;  // Pointer …
    Run Code Online (Sandbox Code Playgroud)

c++ stack templates

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