botgob

Allmän lösning2

Mar 8th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.59 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. vector<string> split(string a, char c) {
  8.     vector<string> ekvVector;
  9.     string tmp = "";
  10.     for (int i = 0; i < a.size(); i++) {
  11.         if (a[i] == c) {
  12.             ekvVector.push_back(tmp);
  13.             tmp = "";
  14.         }
  15.         else {
  16.             tmp += a[i];
  17.         }
  18.     }
  19.     if (tmp != "") ekvVector.push_back(tmp);
  20.     return ekvVector;
  21. }
  22. int skitMetod(string a, int yType) {
  23.     int endResult = 0;
  24.     int bPos = 0;
  25.     int ePos = 0;
  26.     for (int i = 0; i < a.size(); i++) {
  27.         if (a[i] == 'y') {
  28.  
  29.             if (a.find("y(") != string::npos || a.find("y'(") != string::npos) {
  30.                 if (yType == 3) {
  31.                     bPos = i;
  32.                     if (a.find("'") != string::npos) {
  33.                         a.erase(bPos, 3);
  34.                     } else {
  35.                         a.erase(bPos, 2);
  36.                     }
  37.                     a.erase(1, 3);
  38.                 }
  39.             } else {
  40.                 bPos = i;
  41.                 if (yType == 0) {
  42.                     a.erase(bPos, 4);
  43.                    
  44.                 } else if (yType == 1) {
  45.                     a.erase(bPos, 5);
  46.                    
  47.                 } else if (yType == 2) {
  48.                     a.erase(bPos, 2);
  49.                    
  50.                 }
  51.             }
  52.         }
  53.         if (a != "") {
  54.             endResult = stoi(a);
  55.         } else {
  56.             endResult = 1;
  57.         }
  58.         return endResult;
  59.     }
  60. }
  61.  
  62. int main() {
  63.     string ekvString = "";
  64.     vector<string> ekvList;
  65.     cout << "Skriv in din ekvation i formen av ayBis+byPrim+cyF" << "\n";
  66.     cin >> ekvString;
  67.     cout << "\n";
  68.     ekvList = split(ekvString, '+');
  69.     double a, b, c;
  70.     string yBis = "yBis";
  71.     cout << ekvList.size() << "\n";
  72.     for (int i = 0; i < ekvList.size(); i++) {
  73.         if (ekvList[i].find(yBis) != string::npos) {
  74.             cout << "yBis found!" << "\n";
  75.             cout << skitMetod(ekvList[i], 0) << "\n";
  76.             a = skitMetod(ekvList[i], 0);
  77.         }
  78.         else if (ekvList[i].find("yPrim") != string::npos) {
  79.             cout << "yPrim found!" << "\n";
  80.             cout << skitMetod(ekvList[i], 1) << "\n";
  81.             b = skitMetod(ekvList[i], 1);
  82.         }
  83.         else if (ekvList[i].find("yF") != string::npos) {
  84.             cout << "yF found!" << "\n";
  85.             cout << skitMetod(ekvList[i], 2) << "\n";
  86.             c = skitMetod(ekvList[i], 2);
  87.         }
  88.     }
  89.  
  90.     b = b / a;
  91.     c = c / a;
  92.  
  93.     double root1 = ((b / 2)*(-1)) + (sqrt((b / 2)*(b / 2) - c));
  94.     double root2 = ((b / 2)*(-1)) - (sqrt((b / 2)*(b / 2) - c));
  95.  
  96.  
  97.     cout << "\n" << "C1e^(" << root1 << "x) + C2e^(" << root2 << "x)\n" << "\n";
  98.     string yLösning = "";
  99.     string yPrimLösning = "";
  100.  
  101.     cin >> yLösning;
  102.     cin >> yPrimLösning;
  103.     vector<string> lösningarVector = split(yLösning, '=');
  104.     vector<string> lösningPrimVector = split(yPrimLösning, '=');
  105.     int yLösningInt = stoi(lösningarVector[1]);
  106.     int yPrimLösningInt = stoi(lösningPrimVector[1]);
  107.    
  108.     //c1e^(zx) + c2e^(nx) = 0
  109.     //c1ze^(zx) + c2ne^(nx) = 0
  110.  
  111. #ifdef _DEBUG
  112.     system("pause");
  113. #endif // _DEBUG
  114. }
Advertisement
Add Comment
Please, Sign In to add comment