小编Nap*_*tor的帖子

如何创建用户定义大小但没有预定义值的向量?

在C++中,可以创建一个预定义大小的数组,例如20 int myarray[20].但是,关于向量的在线文档并未显示初始化向量的相似方法:相反,应使用例如初始化向量std::vector<int> myvector (4, 100);.这给出了大小为4的向量,其中所有元素都是值100.

如何使用预定义的大小初始化向量而没有预定义的值,就像使用数组一样?

c++ vector

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

模板和多态之间有什么区别

大家好我对模板和多态性有疑问.根据定义,多态性提供代码可重用性,并且模板在某种意义上允许用户通过提供具有不同数据类型的通用编程来使用相同的代码.那么使用多态而不是模板有什么好处呢.这可能是一个愚蠢的问题,但我很想知道确切的区别.

c++ polymorphism templates

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

C#条件运算符错误只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句

嗨,我正在编写一个基本程序,以查找输入数字是否为素数.我有一个checkPrime(num)检查素数的函数,true如果num是prime,则返回false.现在在我的main()函数中我使用条件运算符来缩短代码,但是我得到一个我不确定的错误.以下是我的代码:

static void Main(String[] args) {
    int n = Int32.Parse(Console.ReadLine());
    while (n-- > 0) {
        int num = Int32.Parse(Console.ReadLine());
        (checkPrime(num) == true) ? Console.WriteLine("Prime") : Console.WriteLine("Not Prime");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我编译时,我Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement在条件语句行的while循环中得到错误.我不确定我错过了什么.有类似的问题在这里,人们已经回答了条件运算符线是一个表达式,而不是语句,因此必须有对表达式的值某种或转让.在MSDN参考中给出了相同类型的示例,其中解释执行类似的操作

// ?: conditional operator.
classify = (input > 0) ? "positive" : "negative";
Run Code Online (Sandbox Code Playgroud)

但是我无法理解的是在我的函数中我所要做的就是检查函数的返回值然后打印输出.那么这个表达式的东西会出现在我的案例中.

c# expression compiler-errors conditional-operator

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

在C#中实现完整的二叉树,而不是二进制搜索树

我试图在C#中实现二叉树,而不是二进制搜索树.我实现了下面的代码,它工作正常,但不是我想要的.基本上我正在尝试实现一个完整的二叉树,但是使用我的下面的代码,我得到一个不平衡的二叉树.

Input : 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
Desired Output : 

                        10
                     /       \
                 20            30
               /    \         /  \
            40        50    60    70
           /  \      /
         80    90  100     


Current Output : 
                                10
                              /    \
                            20      30
                                  /    \
                                40      50    
                                       /   \
                                     60     70
                                           /  \
                                         80    90  
                                              /
                                            100   
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

  class Node 
  {
    public int data;
    public Node left;
    public Node right;

    public Node() 
    {
      data = 0;
      left = null;
      right …
Run Code Online (Sandbox Code Playgroud)

c# algorithm tree binary-tree

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

npm install sqlite3错误

我不知道为什么,但我在使用npm安装任何软件包时遇到问题.我试图安装sqlite3,它给出了如下错误:

    naphstor@ubuntu:~$ sudo npm install sqlite3
    [sudo] password for naphstor: 

    > sqlite3@2.0.15 preinstall /home/naphstor/node_modules/sqlite3
    > node-waf clean || true; node-waf configure build

    Nothing to clean (project not configured)
    Setting srcdir to                        : /home/naphstor/node_modules/sqlite3 
    Setting blddir to                        : /home/naphstor/node_modules/sqlite3/build 
    Checking for program g++ or c++          : /usr/bin/g++ 
    Checking for program cpp                 : /usr/bin/cpp 
    Checking for program ar                  : /usr/bin/ar 
    Checking for program ranlib              : /usr/bin/ranlib 
    Checking for g++                         : ok  
    Checking for node path                   : not found 
    Checking for node prefix …
Run Code Online (Sandbox Code Playgroud)

sqlite kubuntu node.js

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

如果存在于mysql中,则删除过程

您好我正在尝试创建一个mysql脚本,我可以运行,只要我需要更新我的数据库.该脚本创建一个表,然后执行一些存储过程.

DELIMITER $$

CREATE TABLE IF NOT EXISTS tbl_name (
    col1 bigint(20) NOT NULL AUTO_INCREMENT,
    col2  varchar(255) NOT NULL,
    col3 varchar(64) NOT NULL,
    col4 datetime DEFAULT NULL,
    PRIMARY KEY (`col1 `),
    UNIQUE KEY col2  (`col2`)
) ENGINE=InnoDB AUTO_INCREMENT=572 DEFAULT CHARSET=utf8$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `myproc`(IN username 
VARCHAR(255))
BEGIN
    DECLARE var1 VARCHAR(64);
    DECLARE expirationDate DATETIME;

    SET var1 = 12345;
    SET expirationDate = DATE_ADD(NOW(), INTERVAL 30 SECOND);

    REPLACE INTO tbl_name (col2, col3, col4) VALUES (someval, var1, expirationDate);
END$$

DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

当我第一次运行脚本时,它创建了表并在MySQL Workbench中执行了存储过程.当我第二次运行相同的东西时,我得到错误1304程序已经存在.

我在网上看了 …

mysql database stored-procedures

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

在堆栈中查找最长的字符序列

嗨,我正在解决一个问题:

给定一个基数为10的整数n,将其转换为二进制(base-2).然后查找并打印基数为10的整数,表示n的二进制表示中连续1的最大数.例如,对于n = 5,base-2 = 101,因此输出应为1,对于n = 439,base-2 = 110110111,因此输出应为3.

下面是我的代码解决方案:

class Solution {

    static int CalcBinary (int n) {
        Stack<int> binRep = new Stack<int>();
        while (n > 0) {
            int i = n%2;
            binRep.Push (i);
            n = n/2;
        }
        int oldCount = 0, newCount = 0;
        while (binRep.Count > 0){
            int val = binRep.Pop();
            if (val == 1) {
                newCount++;
            } else {
                if (newCount > oldCount) {
                    oldCount = newCount;
                }
                newCount = 0;
            }
        }
        return (newCount …
Run Code Online (Sandbox Code Playgroud)

c# arrays algorithm stack loops

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

程序来平衡大括号

嗨我有一个字符串数组,其值包含"{[()]}","} [] {","{()[]".现在我必须平衡每个起始大括号的大括号,例如{或[或(必须有一个右大括号.如果输入字符串具有相同数量的开始和结束括号,则输出为"是"否则" NO."如果字符串在匹配的开括号之前有一个右括号,那么输出也将是"NO".所以基本上输出必须是一个字符串数组,它将包含上述输入字符串数组的值: "是","否","否".

我编写了以下程序,它有很多if-else条件.我想知道在C#中是否有更好的方法来处理这个问题.

static void Main(string[] args)
{
  string[] arrBraces = Console.ReadLine().Split(' ');
  string[] result = new String[arrBraces.Length];

  for (int i = 0; i < arrBraces.Length; i++) {
    Console.WriteLine(arrBraces[i]);
    int curly = 0, square = 0, round = 0;

    foreach (char c in arrBraces[i]) {
      if (c == '{') {
        curly++;
      } else if (c == '[') {
        square++;
      } else if (c == '(') {
        round++;
      } else if (c == '}') {
        if (curly > …
Run Code Online (Sandbox Code Playgroud)

c# arrays string conditional if-statement

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

getline()省略输出字符串的第一个字母

嗨,我是c ++的新手,正在做一些基本的练习.我的代码接受用户输入并将它们提供给数组.现在我使用getline()来获取输入字符串.我的代码如下:

cin.getline(cb[0].name, 200).get();        // Cadburry
cin.getline(cb[1].name, 200).get();        // Snickers
cin.getline(cb[2].name, 200);              // Milky Bar
Run Code Online (Sandbox Code Playgroud)

但是当我输出字符串时,第一个getline()似乎很好,但其他两个都省略了字符串的第一个字母.所以这种情况下的输出是:

Cadburry
nickers
ilky Bar 
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么会这样?

c++

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

解析来自 SQL Server 表列的 JSON 数据

我正在尝试从 SQL Server 2017 中的表中解析 JSON 数据。我有一个返回此数据的视图:

| Debrief Name      |  Version  |   Answer Question        | Answer Options                                                                                                           |  
+-------------------+-----------+--------------------------+--------------------------------------------------------------------------------------------------------------------------+  
| Observer Report   |  7        |   Division:              | {"Options":[{"Display":"Domestic","Value":"Domestic"},{"Display":"International","Value":"International"}]}              |  
| Observer Report   |  7        |   Are you on reserve?    | {"Options":[{"Display":"Yes - Long Call Line","Value":"Yes"},{"Display":"No","Value":"No"}]}                             |  
| Observer Report   |  11       |   Crew Position:         | {"Options":[{"Display":"CA","Value":"CA"},{"Display":"RC","Value":"RC"},{"Display":"FO","Value":"FO"}]}                  |      
| Observer Report   |  11       |   Domicile:              | {"VisibleLines":2,"Options":[{"Display":"BOS","Value":"BOS"},{"Display":"CLT","Value":"CLT"}]}                           |  
| Training Debrief  |  12       |   TRAINING CREW POSITION | {"VisibleLines":2,"Options":[{"Display":"CA","Value":"CA"},{"Display":"FO","Value":"FO"}]}                               | …
Run Code Online (Sandbox Code Playgroud)

sql-server json stored-procedures sql-view

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

使用linq从C#列表中的每一行获取第n个单词

嗨,我有一个多单词字符串的列表。

List<string> myList = new List<string>();
myList.Add("Robert is a bank manager");  
myList.Add("Alice is a cashier");  
myList.Add("Andrew is bank customer");  
Run Code Online (Sandbox Code Playgroud)

现在,对于myList中的每个字符串行,我想获取第n个单词。因此,假设我想从每个字符串中检索偶数个位于数字位置的单词,我希望获得以下输出:

var[] output = {"is", "bank", "is", "cashier", "is", "customer"};
Run Code Online (Sandbox Code Playgroud)

我可以简单地使用for循环并将每个第n个字存储在输出数组中,但很好奇如何使用linq执行相同的操作。

c# linq list

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