Advertisement
Guest User

Untitled

a guest
Feb 13th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.11 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <cstdlib>
  5. #include <windows.h>
  6. #include <vector>
  7. #include <sstream>
  8. #include <math.h>
  9. using namespace std;
  10.  
  11.  
  12. int  minitemp;
  13. int  minitemp2;
  14. int  minitemp3;
  15.  
  16.  
  17. void binardziesietny(){
  18. string trzym1,trzym2;
  19. int size1,size2;
  20. int trzymajzamieniane;
  21. int trzymajzamieniane2;
  22.  
  23. string trzymajzamienianyznak;
  24.  
  25. string bincza,bintemp;
  26.     vector <string> binarczas,binartem;
  27.     int rozmiar1,rozmiar2;
  28.     fstream plik;
  29.     plik.open("dane_systemy1.txt",ios::in | ios::out);
  30.  
  31.     while(plik>>bincza>>bintemp){
  32.             rozmiar1=bincza.size();
  33.             rozmiar2=bintemp.size();
  34.         binarczas.push_back(bincza.substr(0,rozmiar1));
  35.  
  36.         binartem.push_back(bintemp.substr(0,rozmiar2));
  37.     }
  38.  
  39.  
  40. fstream pliktestowy1;
  41.  
  42. pliktestowy1.open("test1.txt", ios :: out);
  43.  
  44. for (int i=0; i<1095;i++ ){
  45.         int c=1, d=1;
  46.  
  47.         int trzymwynik=0, trzymwynik2=0;
  48.         int dodaj=0, dodaj2=0;
  49.         int pozycja ,pozycja2;
  50.  
  51.     trzym1=binarczas[i];
  52.     trzym2=binartem[i];
  53.      size1=trzym1.size();
  54.     size2=trzym2.size();
  55.  
  56.  
  57.  
  58.     for(int binar=size1;binar>0;binar--) //godzina1
  59.     {
  60.         pozycja=binar-1;
  61.         trzymajzamieniane=atoi(binarczas[i].substr(pozycja,1).c_str());
  62.  
  63.         dodaj=trzymajzamieniane*c;
  64.         trzymwynik=trzymwynik+dodaj;
  65.         c=c*2;
  66.  
  67.     }
  68.     for (int bin2 = size2;bin2>0; bin2--){ //temperatura1
  69.         pozycja2=bin2-1;
  70.         trzymajzamieniane2=atoi(binartem[i].substr(pozycja2,1).c_str());
  71.         trzymajzamienianyznak=binartem[i].substr(pozycja2,1);
  72.         if(trzymajzamienianyznak == "-"  ){
  73.             trzymwynik2=trzymwynik2*(-1);
  74.         }else{
  75.         dodaj2=trzymajzamieniane2*d;
  76.         trzymwynik2=trzymwynik2+dodaj2;
  77.         d=d*2;
  78.         }
  79.     }
  80.  pliktestowy1 <<trzymwynik <<" " << trzymwynik2 << endl;
  81. }
  82.                binarczas.clear();
  83.                binartem.clear();
  84.  
  85.                }
  86. void czwordziesietny(){
  87.  
  88.  
  89.      string czwcza,czwtemp;
  90.     vector <string> czworczas,czwortem;
  91.     int rozmiar3,rozmiar4;
  92.     fstream plik2;
  93.     plik2.open("dane_systemy2.txt",ios::in | ios::out);
  94.  
  95.      while(plik2>>czwcza>>czwtemp){
  96.          rozmiar3=czwcza.size();
  97.             rozmiar4=czwtemp.size();
  98.         czworczas.push_back(czwcza.substr(0,rozmiar3));
  99.         czwortem.push_back(czwtemp.substr(0,rozmiar4));
  100.  
  101.     }
  102.  
  103.  
  104.                 string trzym3,trzym4;
  105.                 int size3,size4;
  106.                 int trzymajzamieniane3;
  107.                 int trzymajzamieniane4;
  108.                 string trzymajzamienianyznak2;
  109.                 fstream pliktestowy2;
  110.                 pliktestowy2.open("test2.txt", ios :: out);
  111.  
  112.                 for (int i=0; i<1095;i++ ){
  113.         int e=1,f=1;
  114.  
  115.         int trzymwynik3=0, trzymwynik4=0;
  116.         int dodaj3=0,dodaj4=0;
  117.         int pozycja3,pozycja4;
  118.         trzym3=czworczas[i];
  119.         trzym4=czwortem[i];
  120.         size3=trzym3.size();
  121.         size4=trzym4.size();
  122.           for(int binar1=size3;binar1>0;binar1--) //godzina2
  123.     {
  124.         pozycja3=binar1-1;
  125.         trzymajzamieniane3=atoi(czworczas[i].substr(pozycja3,1).c_str());
  126.  
  127.         dodaj3=trzymajzamieniane3*e;
  128.         trzymwynik3=trzymwynik3+dodaj3;
  129.         e=e*4;
  130.  
  131.     }
  132.  
  133.  
  134.   for (int bin4 = size4;bin4>0; bin4--){ //temperatura 2
  135.         pozycja4=bin4-1;
  136.         trzymajzamieniane4=atoi(czwortem[i].substr(pozycja4,1).c_str());
  137.         trzymajzamienianyznak2=czwortem[i].substr(pozycja4,1);
  138.         if(trzymajzamienianyznak2 == "-"  ){
  139.             trzymwynik4=trzymwynik4*(-1);
  140.         }else{
  141.         dodaj4=trzymajzamieniane4*f;
  142.         trzymwynik4=trzymwynik4+dodaj4;
  143.         f=f*4;
  144.         }
  145.  
  146.     }
  147.  
  148.      pliktestowy2 <<trzymwynik3 <<" " << trzymwynik4 << endl;
  149.  
  150.  
  151. }
  152. czworczas.clear();
  153. czwortem.clear();
  154.                 }
  155. void osiemdziesietny(){
  156.  
  157.  
  158.      string osiemcza,osiemtemp;
  159.      vector <string> osiemczas,osiemtem;
  160.      int rozmiar5,rozmiar6;
  161.      fstream plik3;
  162.  
  163.      plik3.open("dane_systemy3.txt",ios::in | ios::out);
  164.  
  165.  
  166.      while(plik3>>osiemcza>>osiemtemp){
  167.          rozmiar5=osiemcza.size();
  168.          rozmiar6=osiemtemp.size();
  169.          osiemczas.push_back(osiemcza.substr(0,rozmiar5));
  170.          osiemtem.push_back(osiemtemp.substr(0,rozmiar6));
  171.  
  172.                                     }
  173.  
  174.  
  175.  
  176. string trzym5,trzym6;
  177. int size5,size6;
  178. int trzymajzamieniane5;
  179. int trzymajzamieniane6;
  180. string trzymajzamienianyznak3;
  181.  
  182. fstream pliktestowy3;
  183.  
  184. pliktestowy3.open("test3.txt", ios :: out);
  185. for (int i=0; i<1095;i++ ){
  186.         int g=1,h=1;
  187.  
  188.         int trzymwynik5=0, trzymwynik6=0;
  189.         int dodaj5=0,dodaj6=0;
  190.         int pozycja5,pozycja6;
  191.  
  192.  
  193.     trzym5=osiemczas[i];
  194.     trzym6=osiemtem[i];
  195.     size5=trzym5.size();
  196.     size6=trzym6.size();
  197.  
  198.  
  199.        for(int binar5=size5;binar5>0;binar5--) //godzina3
  200.     {
  201.         pozycja5=binar5-1;
  202.         trzymajzamieniane5=atoi(osiemczas[i].substr(pozycja5,1).c_str());
  203.  
  204.         dodaj5=trzymajzamieniane5*g;
  205.         trzymwynik5=trzymwynik5+dodaj5;
  206.         g=g*8;
  207.  
  208.  
  209.     }
  210.  
  211.  for (int bin6 = size6;bin6>0; bin6--){ //  temperatura 3
  212.         pozycja6=bin6-1;
  213.         trzymajzamieniane6=atoi(osiemtem[i].substr(pozycja6,1).c_str());
  214.         trzymajzamienianyznak3=osiemtem[i].substr(pozycja6,1);
  215.         if(trzymajzamienianyznak3 == "-"  ){
  216.             trzymwynik6=trzymwynik6*(-1);
  217.         }else{
  218.         dodaj6=trzymajzamieniane6*h;
  219.         trzymwynik6=trzymwynik6+dodaj6;
  220.         h=h*8;
  221.         }
  222.     }
  223. pliktestowy3 <<trzymwynik5 <<" " << trzymwynik6 << endl;
  224.  
  225. }
  226.         osiemczas.clear();
  227.         osiemtem.clear();
  228. }
  229. void najnizszatemp(){
  230. binardziesietny();
  231. czwordziesietny();
  232. osiemdziesietny();
  233. fstream plik,plik2,plik3;
  234. plik.open("test1.txt",ios::in);
  235. plik2.open("test2.txt",ios::in);
  236. plik3.open("test3.txt",ios::in);
  237. int czas,temperatura;
  238.  
  239. for (int i=0;i<1095;i++){
  240.         plik>>czas>>temperatura;
  241.     if (temperatura < minitemp){
  242.         minitemp=temperatura;
  243.  
  244.     }}
  245.  
  246.     for (int i=0;i<1095;i++){
  247.         plik2>>czas>>temperatura;
  248.     if (temperatura < minitemp2){
  249.         minitemp2=temperatura;
  250.     }}
  251.  
  252.  
  253. while(plik3>>czas>>temperatura){
  254.     if (temperatura < minitemp3){
  255.         minitemp3=temperatura;
  256.     }}
  257. }
  258. void dziesietnybinar(int zamieniana){
  259. fstream plik;
  260. plik.open("wynikpierwszy.txt",ios::app);
  261.     string liczba;
  262.    bool ujemna;
  263.  
  264.            string zamienianastring;
  265.     string znak;
  266.     ostringstream stringtrans;
  267.     stringtrans<<zamieniana;
  268.     zamienianastring=stringtrans.str();
  269. znak=zamienianastring.substr(0,1);
  270.     if(znak == "-"  ){
  271.         liczba="-";
  272.         zamieniana= zamieniana * (-1);
  273.         ujemna=true;
  274.  
  275. }
  276. else ujemna=false;
  277.  
  278.  
  279.  
  280. string wynik;
  281.  while(zamieniana){
  282.   wynik = (zamieniana%2?"1":"0") + wynik;
  283.   zamieniana /= 2;
  284.  }
  285.  
  286.  
  287.  
  288. if (ujemna== true){
  289. plik<< "-" ;
  290.  
  291. }
  292.  plik << wynik << endl;
  293.  
  294.  
  295. }
  296. void zamiana(){
  297.     fstream plik;
  298. plik.open("wynikpierwszy.txt",ios::out);
  299. plik <<endl;
  300.  
  301.     int zamieniana;
  302. najnizszatemp();
  303. zamieniana= minitemp;
  304. dziesietnybinar(zamieniana);
  305. zamieniana=minitemp2;
  306. dziesietnybinar(zamieniana);
  307. zamieniana=minitemp3;
  308. dziesietnybinar(zamieniana);
  309. }
  310. void czas(){
  311.     binardziesietny();
  312.     czwordziesietny();
  313.     osiemdziesietny();
  314. fstream plik,plik2,plik3,plikwynik;
  315. plik.open("test1.txt",ios::in);
  316. plik2.open("test2.txt",ios::in);
  317. plik3.open("test3.txt",ios::in);
  318. plikwynik.open("wynikdrugi.txt",ios::out);
  319. int czas,temperatura,czas2,temperatura2,czas3,temperatura3;
  320. int a=0;
  321. int b=0;
  322. int stan=12;
  323. for(int i=0;i<1095;i++)
  324.  
  325. {
  326.     plik  >> czas  >> temperatura ;
  327.     plik2 >> czas2 >> temperatura2;
  328.     plik3 >> czas3 >> temperatura3;
  329.  
  330.     if (czas != stan && czas2 != stan && czas3 != stan){
  331.         b++;
  332.     }
  333.  
  334.  
  335.  
  336. a++;
  337. stan+=24;
  338.  
  339.  
  340. }
  341.  
  342. plikwynik<<b<<endl;
  343. }
  344. void rekordtemperatury(){
  345. binardziesietny();
  346. czwordziesietny();
  347. osiemdziesietny();
  348. fstream plik,plik2,plik3,plikwynik;
  349. plik.open("test1.txt",ios::in);
  350. plik2.open("test2.txt",ios::in);
  351. plik3.open("test3.txt",ios::in);
  352. plikwynik.open("wyniktrzy.txt",ios::out);
  353. int czas,temperatura,czas2,temperatura2,czas3,temperatura3;
  354. int a=NULL,b=NULL, c=NULL;
  355. int a1=0;
  356.  
  357. for(int i=0;i<1095;i++)
  358.  
  359. {   bool czyrekordowy=false;
  360.     plik  >> czas  >> temperatura  ;
  361.     plik2 >> czas2 >> temperatura2 ;
  362.     plik3 >> czas3 >> temperatura3 ;
  363.  
  364. if(a< temperatura  ) {a = temperatura  ; czyrekordowy=true; }
  365. if(b< temperatura2 ) {b = temperatura2 ; czyrekordowy=true; }
  366. if(c< temperatura3 ) {c = temperatura3 ; czyrekordowy=true; }
  367. if (czyrekordowy){a1++;}
  368.  
  369. }
  370. plikwynik<<a1<<endl;
  371.  
  372. }https://steamcommunity.com/tradeoffer/new/?partner=349493824&token=8d66dfAp
  373. void maxskok(){
  374. binardziesietny();
  375. fstream plik,plik2;
  376. plik.open("test1.txt",ios::in);
  377. plik2.open("wynikcztery.txt",ios::out);
  378. int godzina, temperatura;
  379. vector <int> temperatur;
  380. float r;
  381. int dif;
  382. float maxsk;
  383. int maxjump;
  384. while(plik >>godzina >> temperatura){
  385. temperatur.push_back(temperatura);}
  386. for (int i=0;i<1095;i++){
  387. for(int j=0;j<1095;j++){ // lub int j=i+1;j<1095;j++){
  388. dif=temperatur[i]-temperatur[j];
  389. r=pow(dif,2);
  390. dif=abs(i-j);
  391. maxsk=ceil(r/dif);
  392. if(maxsk>maxjump){maxjump=maxsk;}
  393.  
  394.  
  395.  
  396.  
  397.     }
  398.  
  399. }
  400.  
  401.  
  402. plik2 << maxjump<<endl;
  403.  
  404. }
  405. int main()
  406. {
  407.  
  408.    for(;;){
  409.    int menu;
  410.     cout<< "1-pierwsza stacja"<<endl;
  411.      cout<< " 2-druga stacja"<<endl;
  412.     cout<<" 3-trzecia stacja "<<endl;
  413.     cout << "123-wszystkie 3"<<endl;
  414.    cout << "podaj zmienna a" <<endl;
  415.    cin>>menu;
  416.  
  417.  
  418. switch (menu){
  419.    case 1:
  420.     binardziesietny();
  421.     system("cls");
  422.  
  423. break;
  424. case 2:
  425.  
  426.     czwordziesietny();
  427.     system("cls");
  428.  
  429. break;
  430. case 3:
  431.     osiemdziesietny();
  432.     system("cls");
  433.  
  434.  break;
  435. case 4:
  436.     najnizszatemp();
  437.  
  438.     system("cls");
  439.     break;
  440. case 5:
  441.     zamiana();
  442.     system("cls");
  443.     break;
  444.  
  445. case 6:
  446.     czas();
  447.     system("cls");
  448.     break;
  449.  
  450.  
  451. case 7:
  452.     rekordtemperatury();
  453.     system("cls");
  454.     break;
  455. case 8:
  456.     maxskok();
  457.     system("cls");
  458.     break;
  459. case 123:
  460.     binardziesietny();
  461.     czwordziesietny();
  462.     osiemdziesietny();
  463.     system("cls");
  464. case 1337:
  465.     zamiana();
  466.     czas();
  467.     rekordtemperatury();
  468.     maxskok();
  469.     break;
  470.  case 0:
  471.     return 0;
  472.  
  473. break;
  474.    }}
  475. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement