"Complex Numbers"가 Objective-C에 이미 정의되어 있습니까?
- 복소수에 "i"를 추가하는 방법은 무엇입니까? Complex.m 파일에 "real"과 "imaginary"를 double 값으로 정의했을 때 Xcode는 "real"과 "imaginary"가 double 값이라는 것을 알고있었습니다.
- 예를 들어, "myComplex.imaginary = 7;"을 설정하면 main.m 파일의 복소수 끝 부분에 "i"를 추가하면 "myComplex.imaginary = 7i;"로 변경하십시오. 그 줄의 출력은 0.00000i가됩니다. 다른 글자를 추가하면 프로그램이 단순히 실행되지 않습니다. 왜 이럴까요?
기본적으로 "실제"와 "가상"의 의미가 Xcode에 이미 알려져 있기 때문에 내가 따르고있는 책은 이것을 지정하지 않았으므로 조금 혼란 스럽습니다.
또한이 코드는 내 서적 포럼 구성원에게서 복사 한 것이므로 직접 문제를 파악할 수 없으므로 다음 코드를 작성하지 않았습니다.
// Complex.h
#include <Foundation/Foundation.h>
@interface Complex : NSObject
@property double real, imaginary;
-(void) print;
-(Complex *) add: (Complex *) complexNum;
-(Complex *) subtract: (Complex *) complexNum;
-(Complex *) multiply: (Complex *) complexNum;
-(Complex *) divide: (Complex *) complexNum;
@end
// Complex.m
#import "Complex.h"
@implementation Complex
@synthesize real, imaginary;
-(void) print
{
NSLog(@"%f + %fi", real, imaginary);
}
-(Complex *) add: (Complex *) complexNum
{
Complex *result = [[Complex alloc]init];
result.real = real + complexNum.real;
result.imaginary = imaginary + complexNum.imaginary;
return result;
}
-(Complex *) subtract: (Complex *) complexNum
{
Complex *result = [[Complex alloc]init];
result.real = real - complexNum.real;
result.imaginary = imaginary - complexNum.imaginary;
return result;
}
-(Complex *) multiply: (Complex *) complexNum
{
Complex *result = [[Complex alloc]init];
result.real = real * complexNum.real;
result.imaginary = imaginary * complexNum.imaginary;
return result;
}
-(Complex *) divide: (Complex *) complexNum
{
Complex *result = [[Complex alloc]init];
result.real = real/complexNum.real;
result.imaginary = imaginary/complexNum.imaginary;
return result;
}
@end
//
// main.m
// Complex
#include <Foundation/Foundation.h>
#import "Complex.h"
int main(int argc, const char *argv[]) {
@autoreleasepool {
Complex *myComplex = [[Complex alloc]init];
Complex *totalComplex = [[Complex alloc]init];
Complex *yourComplex = [[Complex alloc]init];
myComplex.real = 5.3;
myComplex.imaginary = 7;
[myComplex print];
NSLog(@"+");
yourComplex.real = 2.7;
yourComplex.imaginary = 4;
[yourComplex print];
NSLog(@"=");
totalComplex = [myComplex add: yourComplex];
[totalComplex print];
}
return 0;
}
와 거래 오 "나비"알고리즘에 유용 전환 계수 (복합 지수)를 계산하기위한 수업 방법이있다! 이해하기 어려운 영어로 된 n00b가 아닌 질문! 무슨 일 이니? (+1) –