小编zod*_*iac的帖子

六边形网格上的两个六边形之间的距离

我有一个六边形网格:

六角网格

使用模板类型坐标T.如何计算两个六边形之间的距离?

例如:

dist((3,3),(5,5))= 3

dist((1,2),(1,4))= 2

c++ algorithm distance hexagonal-tiles

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

检查三角形是否正确?

我试图检查三角形是否是C语言中的直角三角形.a,b并且c是一些三角形的边长.

int is_right_triangle(int a, int b, int c)
{
    return (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a);
}
Run Code Online (Sandbox Code Playgroud)

如何避免求和和乘法中的整数溢出?假设我们没有long long类型.

c algorithm geometry computational-geometry

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

C中结构的指定初始值设定项和复合文字

我有以下结构:

typedef struct my_struct {
    int a;
    int b;
    int *c;
} my_struct;
Run Code Online (Sandbox Code Playgroud)

是:

my_struct n = (my_struct) { .b = 3 };
Run Code Online (Sandbox Code Playgroud)

相当于:

my_struct n = (my_struct) { .a = 0, .b = 3, .c = NULL };
Run Code Online (Sandbox Code Playgroud)

关于什么:

my_struct n = (my_struct) { .b = 3, 0 };
Run Code Online (Sandbox Code Playgroud)

c gcc struct initialization

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

事务性注释不起作用

我使用spring 3.2.8,hibernate 4.我有一个错误"org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是org.hibernate.HibernateException:如果没有活动事务,createCriteria无效"

web.xml中:

<web-app id="WebApp_ID" version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

 <display-name>journeys</display-name>

 <servlet>
    <servlet-name>journeys</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>journeys</servlet-name>
        <url-pattern>/</url-pattern>
  </servlet-mapping>

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/journeys-servlet.xml</param-value>
  </context-param>

  <listener>
       <listener-class>
          org.springframework.web.context.ContextLoaderListener
       </listener-class>
  </listener>

  <jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
  </jsp-config>
</web-app>
Run Code Online (Sandbox Code Playgroud)

行程-servlet.xml中:

<beans xmlns="...">
    <context:annotation-config />
    <context:component-scan base-package="journeys.*" />

    <bean id="viewResolver"
        ...
    </bean>

    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean>

    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://myserver:3306/name" …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate

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

两个进程之间的顺序信号

我有一个父进程和两个孩子.父进程只创建两个孩子,一个读者和一个计数器,并等待它的死亡.孩子们做了以下事情.

第一个孩子(读者):

  1. 打开文件,
  2. 读一条线,
  3. 向第二个孩子发送信号(SIGUSR1),
  4. 等待第二个孩子的信号,
  5. 如果我们可以读另一行,请转到2,否则杀死第二个孩子.

第二个孩子(柜台):

  1. 等待读者的信号(SIGUSR1),
  2. 计算线长,
  3. 向读者发送信号并转到1.

我等待来自另一个进程的信号时遇到麻烦.在调用pause()函数之前可以接收信号,即可以永久阻止进程.我还试图用sigprocmask(),sigsuspend()和sigwaitinfo(),但它不能正常工作.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/ipc.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <signal.h>
#include <string.h>

enum { MAX_LEN = 16 };

void handler(int signo)
{
    // do nothing
}

int main(int argc, const char * argv[])
{
    sigset_t ss;
    sigemptyset(&ss);
    sigaddset(&ss, SIGUSR1);

    // handle SIGUSR1
    signal(SIGUSR1, handler);

    // shared memory for file line
    char *data = mmap(NULL, …
Run Code Online (Sandbox Code Playgroud)

c linux signals sigprocmask ipc

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