c++ 배열을 이용한 사칙연산자 오버로딩( 배열을이용하여 사칙연산수행, 다항식계산과 전혀다르고 훨씬어려움)
페이지 정보
작성일 23-01-28 03:33본문
Download : 연산자오버로딩 완벽버전.txt
int readoperand(int a[중요] , int c[중요] , int imm[중요] ,int lena, int lenb,int manus); //나눗셈에 필요한 메소드
void subb(int a[중요] , int c[중요] , int d[중요] , int lenmax); //c=a-b
struct data{
주석 최대한 자세히 썼습니다. 즉 0이 16개이상 붙으면 오버플로우가발생하게되는데 이점을 해결하기위해 배열을 이용한 사칙연삽을 합니다. class calcul{
for(int i=0; i int lena; //입력받은 문자열의 길이
int형의경우 +-2^16승까지 밖에 표현을 못합니다. 소스코드 800라인정도 될 것 같습니다.
opr.manus = false;
{
배열아 한자리한자리 입력받은 숫자를 넣고 사용자가 입력한 연산을 하게됩니다.
void reduce() //길이를 1만큼감소
data opr;
Download : 연산자오버로딩 완벽버전.txt( 71 )
opr.lena--;
다. 배열을 이용하여 사칙연산
궂이 이 program이 아니더라도 배열을 이용한 사칙연산 알고리즘 필요하신분 가져가세요~!!
구성형식은 구조체에 배열과 배열인덱스가리키는 변수 넣고 클래스에서 이 구조체를 사용하여
{
main()함수에서는 사용자로부터 숫자를 입력받고 2개의 클래스 객체를 만들어주어 이 숫자들을
}
}
opr.lena = a;
레포트 > 공학,기술계열
........
const int MAX = 50;
calcul() //디폴트생성자
{
int manus; //연산결과가 음수인지 아닌지 판단하기위한 변수
넣습니다. 사용자로부터 숫자를 입력받아 배열아 한자리한자리 입력받은 숫자를 넣고 사용자가 입력한 연산을 하게됩니다. 배열을 이용하여 사칙연산 하는 알고리즘은 제가 혼자 생각한 것이라 비효율적인 방법일 수 도 있지만 결과는 확실함 구성형식은 구조체에 배열과 배열인덱스가리키는 변수 넣고 클래스에서 이 구조체를 사용하여 여러 메소드를 이용해 +,-,*,/ 사칙연산자 오버로딩을 합니다. 그리고 클래스+클래스 이렇게 써주면 연산자오버로딩에의해 클래스+클래스 가가능함
int getlenth()
return opr.lena;
calcul operator *(calcul b); // *연산자 오버로딩
opr.showarray[i] = 0;
사칙연산, 오버플로우
public:
{
}
설명
int lenmax; //연산시 최고길이를 저장하기위한 변수





void addd(int a[중요] , int c[중요] , int d[중요] , int lenmax); //c=a+b
여러 메소드를 이용해 +,-,*,/ 사칙연산자 오버로딩을 합니다. 사용자로부터 숫자를 입력받아
.............
int compare(int a[중요] , int b[중요] , int lena, int lenb); //if(a>b) then return 0, else return 1
#include
int a[MAX]; //사용자로부터 입력받은 수 저장할 배열
};
int dotindex; //소수점찍을 위치를 저장하는 변수
void setlenth(int a) //lenmax에 값삽입
calcul operator -(calcul b); // -연산자 오버로딩
using namespace std;
bool returnexit(int arr[중요] ); //배열의모든원소값이 0인지 검사하는 메소드
}
opr.dotindex = 0;
첨부된 파일은 .cpp파일 아니고 텍스트파일입니다. 그리고 클래스+클래스 이렇게 써주면 연산자오버로딩에의해 클래스+클래스 가가능함 궂이 이 프로그램이 아니더라도 배열을 이용한 사칙연산 알고리즘 필요하신분 가져가세요~!! 주석 최대한 자세히 썼습니다.
char showarray[MAX]; //출력할때 나눗셈의경우 문자열로 출력하기위함
하는 알고리즘은 제가 혼자 생각한 것이라 비효율적인 방법일 수 도 있지만 결과는 확실함
순서
int discount(int a[중요] , int c[중요] , int lena, int lenb);//if(lena>lenb) then return lena, else return lenb
calcul operator /(calcul b); // /연산자 오버로딩
opr.a[i]=0;
음수, 양수 모두가능 출력형태는 그냥 텍스트형태이고 그래픽없습니다. main()함수에서는 사용자로부터 숫자를 입력받고 2개의 클래스 객체를 만들어주어 이 숫자들을 넣습니다.
c++ 배열을 이용한 사칙연산자 오버로딩( 배열을이용하여 사칙연산수행, 다항식계산과 전혀다르고 훨씬어려움)
}
int compare(int a[중요] , int b[중요] ,int lenb); //나누기에서 비교하기위한 메소드
int returntmp(int a); //곱셈에서 올림수가 몇인지 정하기위한 메소드
calcul operator +(calcul b); // +연산자 오버로딩
{
int형의경우 +-2^16승까지 밖에 표현을 못합니다. 즉 0이 16개이상 붙으면 오버플로우가발생하게되는데 이점을 해결하기위해 배열을 이용한 사칙연삽을 합니다. 음수, 양수 모두가능 출력형태는 그냥 텍스트형태이고 그래픽없습니다. 첨부된 파일은 .cpp파일 아니고 텍스트파일입니다. 소스코드 800라인정도 될 것 같습니다.