gpt4 book ai didi

c - 如何从 C 文件中读取复数?

转载 作者:太空宇宙 更新时间:2023-11-04 00:08:26 26 4
gpt4 key购买 nike

我有一个包含 64x64 矩阵值的文本文件,它们是复数。我想从文件中读取它们,但我遇到了困难。使用 C 的复数库或为复数创建新的数据类型对我来说都可以,我只需要正确读取它们。

我的意思是,是否使用:

#include <complex.h>
int complex matrix[64][64];

或者为它创建一个数据类型:

typedef struct {
int real, imag;
} Complex;

Complex matrix[64][64];

只要阅读正确,对我来说没问题。

你可以在下面找到 2x3 矩阵,只是为了演示我的文件中的数字:

{{-32767, 12532 + 5341I, -3415 - 51331I}
{32767I, 32609 + 3211I, 32137 + 6392I}}

因此,正如您所看到的,有些部分既有实部又有虚部,有些只有虚部,有些只有实部,所有虚数的末尾都有大写字母“i”。如果你能帮助我,我会很高兴。

最佳答案

两种常见的设计模式适用:
1) Recursive descent parser接受“语言”
2) State Machine

这两种情况都可以受益于 read_char() 函数,如果遇到除了 '{', '}', 0-9, i, +, - 并且跳过所有空格 (ch<=32)。

状态机可以更通用一些:如果在任何时候有“+”或“-”,我们可以将下一个值(以“i”或非“i”结尾)添加或减去当前累计值。 (然后状态机也可以计算 1+2-1+1i...)

关于c - 如何从 C 文件中读取复数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13430646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com