Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _USE_MATH_DEFINES
- #include <iostream>
- #include <string.h>
- #include <math.h>
- #include <cmath>
- #include <algorithm>
- #include <iomanip>
- #include <tgmath.h>
- #include <fcntl.h>
- #include <stdio.h>
- #include <wchar.h>
- #include <conio.h>
- using namespace std;
- char cheie[8];
- double Ni[7];
- double A,B,C,D,omega1,omega0,omega2,omega3,omega6;
- double k1;
- double factorial(double n)
- {
- if(n > 1)
- return n * factorial(n - 1.0);
- else
- return 1.0;
- }
- wchar_t *GetWC(const char *c)
- {
- const size_t cSize = strlen(c)+1;
- wchar_t* wc = new wchar_t[cSize];
- mbstowcs (wc, c, cSize);
- return wc;
- }
- int main(void)
- {
- wcout.precision(5);
- wcout<<fixed;
- _setmode(_fileno(stdout), 0x10000);
- wchar_t *pi = L"\u03C0";
- wchar_t *omega = L"\u03A9";
- wchar_t *s[10];
- s[0] = L"\u2080";
- s[1] = L"\u2081";
- s[3] = L"\u2083";
- s[4] = L"\u2084";
- s[5] = L"\u2085";
- s[2] = L"\u2082";
- s[6] = L"\u2086";
- s[7] = L"\u2087";
- s[8] = L"\u2088";
- s[9] = L"\u2089";
- //const char litere[27] = "abcdefghijklmnopqrstuvwxyz";
- wcout<<"Introdu cheia : ";
- cin.get(cheie,8);
- cin.get();
- wcout<<L" ---Simbol convolutie - \u22C7 --- "<<endl;
- Ni[0] = (double)cheie[0] - 96.0;
- Ni[1] = (double)cheie[1] - 96.0;
- Ni[2] = (double)cheie[2] - 96.0;
- Ni[3] = (double)cheie[3] - 96.0;
- Ni[4] = (double)cheie[4] - 96.0;
- Ni[5] = (double)cheie[5] - 96.0;
- Ni[6] = (double)cheie[6] - 96.0;
- k1 = 1.0 + fmod(Ni[5],3);
- omega1 = fmod(Ni[0],(double)M_PI); // omega1 = 1
- omega2 = fmod(Ni[1],(double)M_PI);
- omega0 = min(omega1,omega2);
- omega3 = fmod(Ni[2],(double)M_PI); // omega2 = 2
- omega6 = fmod(Ni[5],(double)M_PI);
- // wcout<<"!!! !!!"<<sub;
- for(unsigned int i=0; i<strlen(cheie); i++)
- wcout<<cheie[i]<<" ";
- wcout<<'\n';
- for(int i=0; i<7; i++)
- wcout<<Ni[i]<<" ";
- wcout<<'\n';
- double tempN6 = Ni[6];
- A = 1.0 / ( cos ( Ni[0]*Ni[1] ) );
- double AA = A;
- B = M_PI / ( sin( Ni[2]*Ni[3] ) );
- C = exp(Ni[4])/factorial(k1-1);
- D = M_PI / sin(Ni[6]);
- Ni[6] = tempN6;
- wcout<<L"\n1.";
- wcout<<L"\na) "<<L"A = "<<AA<<" 2A = "<<2.0*AA<<'\n'<<L"y(t) = "<<L"2 * "<<AA<<L" * cos[("<<Ni[0]<<L" * (t+"<<Ni[1]<<L"))] * x(t+"<<Ni[1]<<L")\n\n"; // AICI A = 5 WTF????
- wcout<<L"b) "<<L"B = "<<B<<'\n'<<L"y(t) = "<<0.0-(B/M_PI)<<L" * x(t) \u22C7 sin("<<Ni[2]<<L"*t)\n\n";
- wcout<<L"c) "<<L"C = "<<C<<'\n'<<L"y(t) = x(t) \u22C7 ["<<C<<L" * (t^"<<k1-1.0<<L")/("<<factorial(k1-1.0) <<L") * e^("<<0.0-Ni[4]<<L"*t) * \u03C3(t)]\n\n";
- wcout<<L"d) "<<L"D = "<<D<<'\n'<<L"y(t) = x(t) \u22C7 "<<D<<L" * [ sin("<<Ni[6]<<L"*t) / ("<<pi<<L"*t) ]\n\n";
- wcout<<L"2.\n";
- wcout<<L"a) h[n] = sin("<<omega1<<L"*n) / "<<pi<<L"*n\n";
- wcout<<L"Y1( \u03A9 ) = "<<M_PI/omega2<<L" * p"<<s[(int)omega0]<<'('<<omega<<L")\n";
- wcout<<L"y1[n] = sin("<<omega0<<L"*n) / ("<<omega2<<L"*n)\n\n";
- if(omega1<omega3)
- {
- wcout<<L"b) Y2(omega) = 0\n";
- wcout<<L"y2[n] = 0\n";
- }
- else
- {
- wcout<<L"b) Y2(omega) = "<<pi<<L"/ j * [\u1E9F(omega - "<<omega3<<L") - \u1E9F(omega + "<<omega3<<L")]\n";
- wcout<<L"y2[n] = sin("<<omega3<<L"*n)\n";
- }
- /*for(int i=0;i<8;i++)
- cout<<Ni[i]<<" ";
- */
- double n5 = Ni[4];
- double n4 = Ni[3];
- double n7 = Ni[6];
- double t;
- t = n5/(2.0*n4);
- double t1;
- t1 = 1.0/(2.0*n4);
- double alfa, beta;
- double iarA, iarB;
- alfa = t1;
- beta = 1.0/(1.0+n7);
- iarA = alfa / (alfa-beta);
- iarB = 0.0 - beta / (alfa - beta);
- /*wcout<<" \u03B1 = "<<alfa<<endl;
- wcout<<" \u03B2 = "<<beta<<endl;*/
- wcout<<L"\n3.\na) H(\u03A9) = "<<t<<L" * 1 / ( 1 - "<<t1<<L" * e ^ (-j*\u03A9)\n\n";
- wcout<<L"b) h[n] = "<<t<<L" * ( 1 / "<<2.0*n4<<L" ) ^ n * \u03C3[n]\n\n";
- wcout<<L"c) X1(\u03A9) = "<<pi<<L" / j * [\u1E9F(\u03A9 - "<<omega6<<L") - \u1E9F(\u03A9 + "<<omega6<<L")]\n";
- wcout<<L"y1[n] = "<<(n5/(sqrt(2.0 * n4 - pow(cos(omega6),2.0) + pow(sin(omega6),2.0))))<<L" * sin("<<omega6<<L"*n - "<<atan(sin(omega6)/(2.0*n4-cos(omega6)))<<L")\n\n";
- wcout<<L"d) X2( \u03A9 ) = 1 / ( 1 - "<<beta<<L" * e ^ (-j\u03A9) )\n";
- wcout<<L"y2[n] =";
- if(alfa != beta)
- wcout << n5*t1 << " * ( " << iarA << " * " << alfa << "^n + " << iarB << " * " << beta <<L"^n ) * \u03C3[n]";
- else
- wcout <<n5<<" * (n+1) * "<<alfa<<L"^(n+1) * \u03C3[n]";
- getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement