对于使用Fortran预处理语句来说,我是相当新的,并且有一个问题可能是相当本土化的。Fortran预处理语句可以缩进吗?我在Linux (openSUSE Leap)上使用Gfortran4.8.1进行了测试,结果发现它根本不能缩进。
以下代码main.f90与gfortran -cpp main.f90 -o main一起工作:
program main
implicit none
#ifdef DEBUG
print *, "I am in debug mode"
#endif
print *, "hello world!"
en
我已经创建了一个自动打字机器人在C,模拟键。
它首先根据用户的输入搜索段落,然后模拟该段落的每个字符。
我有3000段数据库,字符总数超过100万。
所以,请告诉我,我可以把所有的数据存储在一个字符数组中吗?
我的密码是.
char database[] = {"A string with more than 1,000,000 characters"};
char *start_position;
gets(s); // a small string given by user, this input is used to search which paragraph use
嗨,我是一个初级程序员,我只是在学习Java中的异常,而我所了解到的关于它们的知识已经自学了,还没有在课堂上讨论过。我希望有一个简单的方法,它只接受4个特定的字符串作为输入,否则不工作。我现在的情况是这样的:
public void setRating(String rating){
switch (rating){
case "G":
case "PG":
case "R":
case "NR": this.rating = rating;
我想检查是否已经定义了派生类型中的指针。我写了以下简单的代码来向你展示我的问题:
program test
implicit none
type y
real(8), pointer :: x(:)
end type y
type(y), pointer :: w(:)
allocate(w(2))
allocate(w(1)%x(2))
write(*,*) associated(w(1)%x), associated(w(2)%x)
end program test
用gFortran 4.4.1编译这段代码,并在Ubuntu上运行,结果如下:
T F
而在Windows
以下程序尝试执行一个常见错误:修改函数参数,而它最初作为常量传递。因此,通常情况下,常量存储在对象代码中的只读部分中,并且在运行时得到访问冲突。
这正是gfortran、优化-O0或-O1 (Windows上的gfortran4.8.1)的情况。但是它与-O2一起消失了,第二个打印显示值100,就像第一个。
通过对程序集输出的检查,可以看出在-O1的情况下,函数F是优化出来的,但是计算仍然是在A的代码中进行的,而存储117会导致崩溃。使用-O2,不进行计算,结果(201)作为常数包括在程序集输出中,并且值117永远不被存储。
program bob
implicit none
我正在学习如何在fortran中使用函数,我遇到了几个例子,这使我相信fortran函数通过const引用传递了这个论点。当我说“通过康斯特参考”时,我是从C++的意义上说的。我在网上搜索,没有找到相关的文件。使我相信fortran函数通过const引用传递参数的代码如下所示。
program try
implicit none
real sq
real a,b
write(*,*) sq(2)
a=2
write(*,*) sq(a)
end program
real function sq(x)
real x
sq=x**2
return
我试图控制我的RoboMaster EP核心机器人使用在中描述的明文协议,但它似乎不起作用。以下是我所做的:
把我的笔记本电脑连接到机器人的WIFI (即.直接连接)。
使用文档中的示例代码创建Python脚本。
当我在Python3.9 (Microsoft版本)中运行这个脚本时,我输入command将机器人放入SDK模式(如文档中所述),然后我尝试通过使用robot battery ?获得电池级别,但它没有给出响应。我还试着用led control comp all r 255 g 0 b 0 effect solid改变LED的颜色,但这也行不通。我不知道我做错了什么,但
我翻阅了Fortran指南,尝试了示例程序,在网上查找错误,但似乎没有任何帮助。
我的程序如下:
program TYPE_CHECK
character(30), dimension(10) :: buff
integer, dimension(10) :: x
integer :: i
do i=1,10
x(i) = i
enddo
write(*, "(I3)") (x(j), j=1,10)
do j=1,10
write(buff(j), *)(x(j)),
*
我有以下数据类型:
data Command = Back Int | Front Val deriving (Show,Eq)
data Val = Val {first::Int, second::Int, third::Int} deriving (Show, Eq)
type Program = [Command]
我的职能是:
foo :: Program -> Int
foo list = length (filter (==Front Val {first, second, third}) list)
其目的是仅使用筛选器查找Front发生了多少次,而foo则给出编译错误。
考虑一下这个简单的程序:
program foo
integer bar,idum
print * , bar(1)
end program
function bar(idum)
integer idum,bar
print * , idum
idum = 2
bar = 2
return
end
当我运行它时,我在行idum = 2上得到一个分段错误
Starting program: /tmp/a.out
1
Program received signal SIGSEGV
namespace Sample
{
public class Program
{
static int x;
public Program(int Y) {
x = Y;
Console.WriteLine("one value base class constructor called");
}
static void Main(string[] args)
{
Program pr
我对Fortran很陌生。现在,我试图建立一个简单的函数,它应该打印一个矩阵的系数。最初,我想用这个矩阵做一些更有趣的事情(这就是为什么我使用函数关键字),但是我不得不把它关了下来,因为"Hello“和”乘一个数字乘以2“是我到目前为止唯一成功编译的程序。
这是我的代码:
PROGRAM my_program
IMPLICIT NONE
INTEGER, EXTERNAL :: print_coefs
END PROGRAM my_program
FUNCTION print_coefs(arr)
IMPLICIT NONE
REAL, INTENT(
int main()
{
int account_or_not;
account obj;
menu menu_obj;
cout << "Do you have an account? 1 for yes or 2 for no " << endl;
cin >> account_or_not;
if (account_or_not == 1)
{
menu_obj.user_menu();
}
else if (account_or_not =
问题是,在我添加了新类之后,在构建解决方案时出现了错误。有什么不对的?
在Form1中,我还没有任何代码。
我刚加了一个新的类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenHardwareMonitor.Hardware;
namespace OpenHardwareMonitorReport
{
class Program
{
static void Main(string[] args)
我正在尝试构建一个由3个vc项目文件组成的c++解决方案。其中我使用的是我自己的stl库和标准的stl集合。等,以适当的名称空间作为前缀。
用于一个特定的用户定义类型的变量事件。这是一些用户定义的结构的元素,它给出的错误如下:
error C2039: '_Mycont' : is not a member of 'std::_Vector_const_iterator<_Ty,_Alloc>' C:\Program Files\Microsoft Visual Studio 8\VC\include\vector 195
error
我正在使用Lahey/ Fortran 95编译器进行固定格式代码(.FOR),其中包含了许多文件。我计划将几个文件更改为.F90,并希望包含带有的文件(基本上是固定格式的文件,在任何连续行的第73列上都有一个符号,在第6列中总是用于启动一个连续行)。
但是我得到了一个没有定义变量的错误。是否有一个原因,交叉一个格式是不可用的拉希?
如果在GNU上进行测试,相同的代码可以正常工作。如果有人知道如何让它在拉希工作,那就太好了。
PROGRAM MAIN
IMPLICIT NONE
INCLUDE 'test.inc'
INTEGER*4 index1
in
我一直试图编写一个简单的程序来执行对一维输入阵列使用fftw3的快速傅立叶变换。这里我用地震记录作为输入。但是,输出数组只包含零。
我知道输入是正确的,因为我也尝试过在MATLAB中对同一个输入文件做fft,这就给出了正确的结果。没有编译错误。我正在使用f95编译这个程序,但是gfortran也给出了几乎相同的结果。这是我写的代码:-
program fft
use functions
implicit none
include 'fftw3.f90'
integer nl,row,col
double precision, alloc
我正在尝试运行一个数学算法(共轭梯度法)的代码。在这样做的时候,我输入了一个双精度矩阵,在我的前言中就是这样定义的。编译时,我得到以下错误:
A=RESHAPE((/ 0,8,0,4,26,8,0,17.5,0,0,0,17.5,0,2.5,-8,4,0,2.5,0,-5,26,0,-8,-5,0
1
Error: Element in INTEGER(4) array constructor at (1) is REAL(4)
make: FTranProjectBuilder: Error: Execution exited with co
我是来尝试从文件中获取信息的。如果用户从cmd运行此.exe并给出一个类似于example.exe input.txt的文件名,那么它将显示文件并读取。但是,如果用户不给出文件名,那么它只是作为程序的运行运行。
当我在运行时给出来自cmd的输入时,程序运行得很好,但是如果我在运行这个文件时不给出文件名,并且只运行example.exe,一个异常将显示错误。
异常:无效的空指针
我的密码在这里:
// inputfile.cpp : Defines the entry point for the console application.
#include "stdafx.h
我正在玩一些网上的例子,其中有一个短语:
do ... contents <- getDirectoryContents path `catch` const (return [])
但是它不会为我编译,并给出了错误:
No instance for (Exception e0) arising from a use of `catch'
The type variable `e0' is ambiguous
Possible fix: add a type signature that fixes these type variable(s)
Note: the