63773 (695443), страница 2
Текст из файла (страница 2)
Приложение А. Алгоритм программы для вычисления величины расщепления в спектре упрощенной модели двуслойной нанотрубки в виде двух параллельных цепочек атомов
Содержимое файла stdafx.h:
#include
#include
#include
class Complex
{
public:
double real;
double image;
Complex() {}; // Конструктор по умолчанию
Complex(double r) { real = r; image = 0; } // Конструктор
Complex(double r, double i) { real = r, image = i; } // Конструктор
~Complex() {} // Деструктор
double absolute() // Модуль комплексного числа
{
return sqrt(real * real - image * image);
}
Complex operator+(Complex &); // Перегрузка оператора сложения
Complex operator-(Complex &); // Перегрузка оператора вычитания
Complex operator*(Complex &); // Перегрузка оператора умножения
Complex operator/(Complex &); // Перегрузка оператора деления
};
Содержимое файла Gammakp.cpp:
#include "stdafx.h"
#include
#include
using namespace std;
#define N 30
#define a 1.0
#define b 1.1
#define d 0.5
// Перегрузка +
Complex Complex::operator+(Complex &fp1)
{
fp1.real = real + fp1.real;
fp1.image = image + fp1.image;
return fp1;
}
// Перегрузка -
Complex Complex::operator-(Complex &fp1)
{
fp1.real = real - fp1.real;
fp1.image = image - fp1.image;
return fp1;
}
// Перегрузка *
Complex Complex::operator*(Complex &fp1)
{
double i, j;
i = real * fp1.real - image * fp1.image;
j = real * fp1.image + fp1.real * image;
fp1.real = i;
fp1.image = j;
return fp1;
}
// Перегрузка /
Complex Complex::operator/(Complex &fp1)
{
double k, i, j;
k = fp1.real * fp1.real + fp1.image * fp1.image;
i = (real * fp1.real + image * fp1.image) / k;
j = (fp1.real * image - real * fp1.image) / k;
fp1.real = i;
fp1.image = j;
return fp1;
}
int main()
{
Complex Gkp;
double m;
int i,j;
for(i=0;i for(j=0;j { Gkp.real=0; Gkp.image=0; Gkp.real=Gkp.real+1/(double)N*exp(-1/a*sqrt(pow(i*a-j*b,2)+d*d))*cos(6.28*i-6.28*j); Gkp.image=Gkp.image-1/(double)N*exp(-1/a*sqrt(pow(i*a-j*b,2)+d*d))*sin(6.28*i-6.28*j); } Gkp.real=pow(Gkp.absolute(),2); cout<<"Gkp"<<" "< getchar(); }















