你好我使用linux 12.04和geany进行编码.我在C中编写的代码完全正常,直到我使用sqrtf命令查找浮点的平方根.错误:HAC3.c :(.text + 0xfd7):未定义对`sqrtf'的引用.
我正在使用sqrtf的代码部分:
float syn(float *a, float *b, int dimensions)
{
float similarity=0;
float sumup=0;
float sumdown=0;
float as=0;
float bs=0;
int i;
for(i=0; i<dimensions; i++)
{
sumup = sumup + a[i] * b[i];
as = as + a[i] * a[i];
bs = bs + b[i] * b[i];
}
sumdown = sqrtf(as) * sqrtf(bs);
similarity = sumup / sumdown;
return similarity;
}
Run Code Online (Sandbox Code Playgroud)
我包括math.h但这似乎不是问题.所以我想知道有没有办法修复geany所以这不会再出现?我知之甚少所以尽量解释一下.
我$(event.target).closest("#divID").length用来隐藏div用户在其外部点击的时间,但是在div可见的情况下我单击日期(datepicker)它将不会隐藏div.
此外,如果我点击<select>有时它隐藏它有时它不会.
有什么更好的解决方案可以在点击其他内容时隐藏div吗?
我的实施错了吗?
ps:#log_in是登录按钮,#log_in_form是form我想在外部点击时隐藏的按钮,是#log_in_container包含#log_inand和的div#log_in_form
更新:我刚注意到在Windows 10和Linux ubuntu 16.04上的消失是不一样的.在使用谷歌浏览器使用谷歌浏览器的PC上,表格在第一次点击时消失了(这是理想的功能),但如果我选择日期,它仍然不会消失.虽然在谷歌Chrome上的Linux ubuntu 16.04上,它就像我上面描述的那样(在选择日期时不会消失,并且在你选择的第一次点击时也不会消失)
示例基于Andrei对代码段的回答
$(document).on('click', function(e){
if($(e.target).closest('#log_in').is('#log_in'))
{
$('#log_in_form').fadeIn();
}
else if(!$(e.target).closest('#log_in_container').is('#log_in_container'))
{
$('#log_in_form').fadeOut();
}
})Run Code Online (Sandbox Code Playgroud)
#log_in_container{
display:inline-block;
width:122px;
height:58px;
margin-left:60px;
background-color:gray;
}
#log_in{
display:block;
width:120px;
height:28px;
text-align: center;
border: 1px solid red;
font-size:16px;
background-color:yellow;
vertical-align: top;
}
#log_in_form{
display:none;
position:absolute;
width:120px;
height:28px;
text-align: center;
background-color: green;
border: 1px solid …Run Code Online (Sandbox Code Playgroud)我在过去做了一个关于哈希表的小练习,但是用户给出了数组大小,结构也是这样的(因此用户每次都给出一个数字和一个单词作为输入)
struct data
{
int key;
char c[20];
};
Run Code Online (Sandbox Code Playgroud)
所以它非常简单,因为我知道数组大小,并且用户也说他将提供多少项作为输入.我这样做的方式是
但现在我必须制作倒排索引,我正在重新研究,所以我可以为它制作哈希表.因此,这些单词将从大约30个字节收集,并且它们将是如此之多.那么在这种情况下阵列需要多长时间?我怎么哈希的话?我应该使用开放地址或链接的哈希.练习sais我们可以使用哈希表,如果我们在网上找到它.但我更喜欢自己理解并创造它.任何线索都会帮助我:)
在这个exerice(使用哈希表的反向索引)中,结构看起来像这样.data type是我将创建的哈希表的类型.
struct posting
{
string word;
posting *next
}
struct data
{
string word;
posting *ptrpostings;
data *next
};
Run Code Online (Sandbox Code Playgroud) 我知道在 flex 中你只需要yyin = fopen(filename, "r");读取一个文件,但是如果你想从 bison 中读取它怎么可能呢?我正在尝试将 flex 和 bison 结合使用(读取文件4 + 5 + 7;并打印结果),但我很难尝试从 bison 打开文件。我试图extern FILE *yyin在申报室使用,然后yyin = fopen(filename, "r");我得到了错误:
C2065:'yyin':未声明的标识符。
这是我的代码,以防万一它有助于找到它。
野牛代码:
%{
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
extern FILE *yyin;
int yyerror(char *message)
{
return 0;
}
%}
%union {
double val;
char sym;
}
%token <val> NUMBER
%token <sym> PLUS Q_MARK
%type <val> addition_list addition
%start addition_list
%%
addition_list : addition Q_MARK {printf("apotelesma: %d\n", $1);} …Run Code Online (Sandbox Code Playgroud) 这是我的问题......我有这个代码(创建一个列表)
typedef struct node
{
int pid;
int runtime;
struct node *next;
}job;
int main()
//code
job *first = NULL;
job *last = NULL;
job *newnode;
//code
//from here
if( first == NULL )
{
first = last = newnode;
newnode->next = NULL;
}
else
{
last->next = newnode;
last = last->next;
}
// to here
Run Code Online (Sandbox Code Playgroud)
所以我想在这里做一个函数之间的部分(所以看起来会更好)我做了这个...我创建了一个函数
void funct(job ** pfirst, job **plast, job*newnode);
Run Code Online (Sandbox Code Playgroud)
在主要而不是我使用的强大部分:
funct(&first, &last, newnode);
Run Code Online (Sandbox Code Playgroud)
功能是这样的
void funct(job ** pfirst, job **plast, job*newnode)
{
if(*pfirst == NULL) …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个小的哈希程序,但有一个错误,我不知道如何处理.问题出在箭头上,这是错误:
错误1错误C2440:'初始化':无法从'std :: _ String_const_iterator <_Elem,_Traits,_Alloc>'转换为'std :: _ String_iterator <_Elem,_Traits,_Alloc>'
我的代码:
#include <iostream>
#include <string>
#include <iterator>
using namespace std;
unsigned long hash(const string& str);
int main()
{
long out;
string word;
word = "about";
out = hash(word) % 255;
cout << out;
system("pause");
return 0;
}
unsigned long djb2(const string& str)
{
unsigned long hash = 5381;
for(string::iterator it=str.begin();it!=str.end();it++) //<~~~~~~~~~~
hash = ((hash << 5) + hash) + *it; /* hash * 33 + character */
return hash;
}
Run Code Online (Sandbox Code Playgroud) 它一定很简单,但我现在很麻木,想清楚.所以这只是我代码的一小部分,除此之外一切正常.我真正想做的是infile1.open(temp2-> path); 但由于temp2是一个字符串,所以不可能.所以我想将这个字符串放入char数组[100]中的char数组中,以使用infile1.open(p).它编译但经过几秒钟的繁荣:p周围的堆栈已损坏
char p[100];
while( temp2 != 0)
{
stringToCharArray(temp2->path, p);
infile1.open(p);
checkingWords(infile1, stopWords, invertedIndex);
infile1.close();
temp2 = temp2->next;
}
void stringToCharArray(string s, char *c)
{
int i;
int size = s.size();
for( i=0; i<=size ; i++)
{
c[i] = s[i];
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试用java swing创建一个棋盘游戏,但我对布局感到非常困惑.目前我正在尝试创建用户看到的图像.为了做到这一点,我使用了BorderLayout(我只需要使用Border-grid-flow布局),我认为我会在东南西北部放置一些工作人员,并在中心放置基本板.问题是我必须创建使用JButton移动棋子的路径(其余空间应该留空)并且该路径需要具有特定的十字形状:http://i59.tinypic.com/eileys.png和尺寸应该比平常小.对于初学者,我尝试使用带有gridlayout的JPanel(放入中心),但无论我做什么(如setPreferredSize()),按钮都会调整大小以填充空间.这是我的代码.感谢您的时间,任何提示都会有所帮助!编辑:
package projtest1;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Board extends JFrame
{
public Board()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Border Layout");
setMinimumSize(new Dimension(1280, 768));
setSize(1280, 768);
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
contentPane.add(new JButton("North"), BorderLayout.NORTH);
contentPane.add(new JButton("South"), BorderLayout.SOUTH);
contentPane.add(new JButton("West"), BorderLayout.WEST);
contentPane.add(new JButton("East"), BorderLayout.EAST);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(3, 1, 1, 1));
buttonPanel.setSize(new Dimension (800,800));
JPanel topButtonPanel = new JPanel();
JPanel middleButtonPanel …Run Code Online (Sandbox Code Playgroud)