Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2011, 22:51   #1
ensoleille
Пользователь
 
Регистрация: 16.01.2011
Сообщений: 25
Печаль Файл произвольного доступа

а) преобразования комплексного числа из алгебраической формы в показательную;
б) преобразования комплексного числа из показательной формы в алгебраическую;
в) получения сопряженного комплексного числа;
г) возведения комплексного числа в целую положительную степень;
д) умножения комплексных чисел в алгебраической форме;
с) умножения комплексных чисел в показательной форме;
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<iostream>
int Complex();
int Complex1();
int Complex2();
int Complex3();
int Complex4();
float r,fi,x,y,pi=3.14,a,b,r1,x1,y1,a1,b1 ,r2,r3,r4,fi1,fi2,x2,y2;
int n;
void main()
{
FILE *ctPtr;
int request;
if((ctPtr=fopen("complex.dat","w")) ==NULL);
printf("FILE NOT OPEN!!");
puts("Enter request: 1-Complex;
2-Complex1;
3-Complex2;
4-Complex3;
5-Complex4;
6-Exit; ");
scanf("%d",&request);
switch(request){
case1:Complex(z1.a,z1.b,&r,&fi);
break;
case2:Complex1(z1.a,z1.b,&a,&b);
break;
case3:Complex2(z1.a,z1.b,r,&r1,&fi) ;
break;
case4:Complex3(z1.a,z1.b,z2.a,z2.b, &a1,&b1);
break;
case5:Complex4(z3.a,z3.b,&r2,&fi1,& fi2);
break;
case6:Exit(1);
defaultuts("Vibran neverniy rejim");
return;



struct complex
{
float a;
float b;
}z1,z2,z3;
puts("Vvedite deystvitel'nuyu chast' pervogo chisla");
fscanf(ctPtr,"%f",&z1.a);
puts("Vvedite mnimuyu chast' pervogo chisla");
fscanf(ctPtr,"%f",&z1.b);
puts("Vvedite deystvitel'nuyu chast' vtorogo chisla");
fscanf(ctPtr,"%f",&z2.a);
puts("Vvedite mnimuyu chast' vtorogo chisla");
fscanf(ctPtr,"%f",&z2.b);

Complex(z1.a,z1.b,&r,&fi);

fprintf(ctPtr,"Preobrazoannoe chislo iz algebraicheskoi formi v pokazatel'nuyu");
fprintf(ctPtr,"z1=%.2f*^e(%.2fi)\n" ,r,fi);
puts("\n");

Complex1(z1.a,z1.b,&a,&b);
puts("Preobrazovannoe chislo iz pokazatel'noi formi v algebraicheskuyu");
fprintf(ctPtr,"z1=%.2f+(%.2f)i\n",a ,b);
puts("\n");

puts("Chislo v algebraicheskoi forme");
fprintf(ctPtr,"z1=%.2f+(%.2f)i\n",a ,b);
puts("Sopryajennoe chislo");
fprintf(ctPtr,"z1=%.2f-(%.2f)i\n",a,b);
puts("\n");

puts("Vvedite znachenie stepenya - n");
fscanf(ctPtr,"%d",&n);

Complex2(z1.a,z1.b,r,&r1,&fi);
puts("Chislo vozvedennoie v stepen' n");
fprintf(ctPtr,"z=%.2f((%.2f)+i(%.2f ))\n",r1,x,y,fi);
puts("\n");

Complex3(z1.a,z1.b,z2.a,z2.b,&a1,&b 1);

puts("Proizvedenie kompleksnix chisel v algebraicheskoi forme");
fprintf(ctPtr,"z3=%.2f+(%.2f)i\n",a 1,b1);
puts("\n");

Complex4(z3.a,z3.b,&r2,&fi1,&fi2);

puts("Proizvedenie kompleksnix chisel v pokazatel'noi forme v algebraicheskoi zapisi");
fprintf(ctPtr,"z3=%.2f(%.2f+%.2fi)\ n",r4,x2,y2,fi1,fi2);
puts("\n");
fclose(ctPtr);
getch_();
}

void Complex(float x,float y,float *r,float *fi)
{
float pi=3.14;
*r=sqrt(x*x+y*y);
if(x>0)
*fi=atan(y/x);
if(x<0 && y>=0)
*fi=atan(y/x)+pi;
if(x<0 && y<0)
*fi=atan(y/x)-pi;
if(x==0 && y>0)
*fi=pi/2;
if(x==0 && y<0)
*fi=-pi/2;
puts("\n");

}
void Complex1(float x,float y,float *a,float *b)
{
*a=x*cos(y);
*b=x*sin(y);
}
void Complex2(float x,float y,float r,float *r1,float *fi)
{
float pi=3.14;
int n;

if(x>0)
*fi=atan(y/x);
if(x<0 && y>=0)
*fi=atan(y/x)+pi;
if(x<0 && y<0)
*fi=atan(y/x)-pi;
if(x==0 && y>0)
*fi=pi/2;
if(x==0 && y<0)
*fi=-pi/2;
x=cos(n*(*fi));
y=sin(n*(*fi));
r=(sqrt(x*x+y*y));
*r1=pow( r,n);
}
void Complex3(float x,float y,float x1,float y1,float *a1,float *b1)
{
*a1=x*x1-y*y1;
*b1=x*y1+y*x1;
}
void Complex4(float x2,float y2,float *r4,float *fi1,float *fi2)
{
float x,y,x1,y1;
float r2,r3;
*r4=(sqrt(x*x+y*y))*(sqrt(x1*x1+y1* y1));
x2=cos((*fi1)+(*fi2));
y2=sin((*fi1)+(*fi2));
}

была структура,сказали переделать как файлы произвольного доступа.что-то слишком много ошибок выдает(
ensoleille вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Настройка сетевого доступа к файл-серверу DEKARO Свободное общение 10 05.08.2010 07:40
Pascal файл прямого доступа AfeR Помощь студентам 2 13.07.2010 02:25
файлы произвольного доступа и множества(горю)) drcoxer Паскаль, Turbo Pascal, PascalABC.NET 2 03.06.2010 11:02
Создать в редакторе текстовый файл, внести в него 10 строк произвольного текста. Разработать программу, к Pan_rust Паскаль, Turbo Pascal, PascalABC.NET 0 24.05.2010 23:04
Задача:поиск и сортировка.(файл произвольного размера) xxxBITxxx Помощь студентам 3 11.01.2009 19:48