Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <cstdlib>
- #include <windows.h>
- #include <vector>
- #include <sstream>
- #include <math.h>
- using namespace std;
- int minitemp;
- int minitemp2;
- int minitemp3;
- void binardziesietny(){
- string trzym1,trzym2;
- int size1,size2;
- int trzymajzamieniane;
- int trzymajzamieniane2;
- string trzymajzamienianyznak;
- string bincza,bintemp;
- vector <string> binarczas,binartem;
- int rozmiar1,rozmiar2;
- fstream plik;
- plik.open("dane_systemy1.txt",ios::in | ios::out);
- while(plik>>bincza>>bintemp){
- rozmiar1=bincza.size();
- rozmiar2=bintemp.size();
- binarczas.push_back(bincza.substr(0,rozmiar1));
- binartem.push_back(bintemp.substr(0,rozmiar2));
- }
- fstream pliktestowy1;
- pliktestowy1.open("test1.txt", ios :: out);
- for (int i=0; i<1095;i++ ){
- int c=1, d=1;
- int trzymwynik=0, trzymwynik2=0;
- int dodaj=0, dodaj2=0;
- int pozycja ,pozycja2;
- trzym1=binarczas[i];
- trzym2=binartem[i];
- size1=trzym1.size();
- size2=trzym2.size();
- for(int binar=size1;binar>0;binar--) //godzina1
- {
- pozycja=binar-1;
- trzymajzamieniane=atoi(binarczas[i].substr(pozycja,1).c_str());
- dodaj=trzymajzamieniane*c;
- trzymwynik=trzymwynik+dodaj;
- c=c*2;
- }
- for (int bin2 = size2;bin2>0; bin2--){ //temperatura1
- pozycja2=bin2-1;
- trzymajzamieniane2=atoi(binartem[i].substr(pozycja2,1).c_str());
- trzymajzamienianyznak=binartem[i].substr(pozycja2,1);
- if(trzymajzamienianyznak == "-" ){
- trzymwynik2=trzymwynik2*(-1);
- }else{
- dodaj2=trzymajzamieniane2*d;
- trzymwynik2=trzymwynik2+dodaj2;
- d=d*2;
- }
- }
- pliktestowy1 <<trzymwynik <<" " << trzymwynik2 << endl;
- }
- binarczas.clear();
- binartem.clear();
- }
- void czwordziesietny(){
- string czwcza,czwtemp;
- vector <string> czworczas,czwortem;
- int rozmiar3,rozmiar4;
- fstream plik2;
- plik2.open("dane_systemy2.txt",ios::in | ios::out);
- while(plik2>>czwcza>>czwtemp){
- rozmiar3=czwcza.size();
- rozmiar4=czwtemp.size();
- czworczas.push_back(czwcza.substr(0,rozmiar3));
- czwortem.push_back(czwtemp.substr(0,rozmiar4));
- }
- string trzym3,trzym4;
- int size3,size4;
- int trzymajzamieniane3;
- int trzymajzamieniane4;
- string trzymajzamienianyznak2;
- fstream pliktestowy2;
- pliktestowy2.open("test2.txt", ios :: out);
- for (int i=0; i<1095;i++ ){
- int e=1,f=1;
- int trzymwynik3=0, trzymwynik4=0;
- int dodaj3=0,dodaj4=0;
- int pozycja3,pozycja4;
- trzym3=czworczas[i];
- trzym4=czwortem[i];
- size3=trzym3.size();
- size4=trzym4.size();
- for(int binar1=size3;binar1>0;binar1--) //godzina2
- {
- pozycja3=binar1-1;
- trzymajzamieniane3=atoi(czworczas[i].substr(pozycja3,1).c_str());
- dodaj3=trzymajzamieniane3*e;
- trzymwynik3=trzymwynik3+dodaj3;
- e=e*4;
- }
- for (int bin4 = size4;bin4>0; bin4--){ //temperatura 2
- pozycja4=bin4-1;
- trzymajzamieniane4=atoi(czwortem[i].substr(pozycja4,1).c_str());
- trzymajzamienianyznak2=czwortem[i].substr(pozycja4,1);
- if(trzymajzamienianyznak2 == "-" ){
- trzymwynik4=trzymwynik4*(-1);
- }else{
- dodaj4=trzymajzamieniane4*f;
- trzymwynik4=trzymwynik4+dodaj4;
- f=f*4;
- }
- }
- pliktestowy2 <<trzymwynik3 <<" " << trzymwynik4 << endl;
- }
- czworczas.clear();
- czwortem.clear();
- }
- void osiemdziesietny(){
- string osiemcza,osiemtemp;
- vector <string> osiemczas,osiemtem;
- int rozmiar5,rozmiar6;
- fstream plik3;
- plik3.open("dane_systemy3.txt",ios::in | ios::out);
- while(plik3>>osiemcza>>osiemtemp){
- rozmiar5=osiemcza.size();
- rozmiar6=osiemtemp.size();
- osiemczas.push_back(osiemcza.substr(0,rozmiar5));
- osiemtem.push_back(osiemtemp.substr(0,rozmiar6));
- }
- string trzym5,trzym6;
- int size5,size6;
- int trzymajzamieniane5;
- int trzymajzamieniane6;
- string trzymajzamienianyznak3;
- fstream pliktestowy3;
- pliktestowy3.open("test3.txt", ios :: out);
- for (int i=0; i<1095;i++ ){
- int g=1,h=1;
- int trzymwynik5=0, trzymwynik6=0;
- int dodaj5=0,dodaj6=0;
- int pozycja5,pozycja6;
- trzym5=osiemczas[i];
- trzym6=osiemtem[i];
- size5=trzym5.size();
- size6=trzym6.size();
- for(int binar5=size5;binar5>0;binar5--) //godzina3
- {
- pozycja5=binar5-1;
- trzymajzamieniane5=atoi(osiemczas[i].substr(pozycja5,1).c_str());
- dodaj5=trzymajzamieniane5*g;
- trzymwynik5=trzymwynik5+dodaj5;
- g=g*8;
- }
- for (int bin6 = size6;bin6>0; bin6--){ // temperatura 3
- pozycja6=bin6-1;
- trzymajzamieniane6=atoi(osiemtem[i].substr(pozycja6,1).c_str());
- trzymajzamienianyznak3=osiemtem[i].substr(pozycja6,1);
- if(trzymajzamienianyznak3 == "-" ){
- trzymwynik6=trzymwynik6*(-1);
- }else{
- dodaj6=trzymajzamieniane6*h;
- trzymwynik6=trzymwynik6+dodaj6;
- h=h*8;
- }
- }
- pliktestowy3 <<trzymwynik5 <<" " << trzymwynik6 << endl;
- }
- osiemczas.clear();
- osiemtem.clear();
- }
- void najnizszatemp(){
- binardziesietny();
- czwordziesietny();
- osiemdziesietny();
- fstream plik,plik2,plik3;
- plik.open("test1.txt",ios::in);
- plik2.open("test2.txt",ios::in);
- plik3.open("test3.txt",ios::in);
- int czas,temperatura;
- for (int i=0;i<1095;i++){
- plik>>czas>>temperatura;
- if (temperatura < minitemp){
- minitemp=temperatura;
- }}
- for (int i=0;i<1095;i++){
- plik2>>czas>>temperatura;
- if (temperatura < minitemp2){
- minitemp2=temperatura;
- }}
- while(plik3>>czas>>temperatura){
- if (temperatura < minitemp3){
- minitemp3=temperatura;
- }}
- }
- void dziesietnybinar(int zamieniana){
- fstream plik;
- plik.open("wynikpierwszy.txt",ios::app);
- string liczba;
- bool ujemna;
- string zamienianastring;
- string znak;
- ostringstream stringtrans;
- stringtrans<<zamieniana;
- zamienianastring=stringtrans.str();
- znak=zamienianastring.substr(0,1);
- if(znak == "-" ){
- liczba="-";
- zamieniana= zamieniana * (-1);
- ujemna=true;
- }
- else ujemna=false;
- string wynik;
- while(zamieniana){
- wynik = (zamieniana%2?"1":"0") + wynik;
- zamieniana /= 2;
- }
- if (ujemna== true){
- plik<< "-" ;
- }
- plik << wynik << endl;
- }
- void zamiana(){
- fstream plik;
- plik.open("wynikpierwszy.txt",ios::out);
- plik <<endl;
- int zamieniana;
- najnizszatemp();
- zamieniana= minitemp;
- dziesietnybinar(zamieniana);
- zamieniana=minitemp2;
- dziesietnybinar(zamieniana);
- zamieniana=minitemp3;
- dziesietnybinar(zamieniana);
- }
- void czas(){
- binardziesietny();
- czwordziesietny();
- osiemdziesietny();
- fstream plik,plik2,plik3,plikwynik;
- plik.open("test1.txt",ios::in);
- plik2.open("test2.txt",ios::in);
- plik3.open("test3.txt",ios::in);
- plikwynik.open("wynikdrugi.txt",ios::out);
- int czas,temperatura,czas2,temperatura2,czas3,temperatura3;
- int a=0;
- int b=0;
- int stan=12;
- for(int i=0;i<1095;i++)
- {
- plik >> czas >> temperatura ;
- plik2 >> czas2 >> temperatura2;
- plik3 >> czas3 >> temperatura3;
- if (czas != stan && czas2 != stan && czas3 != stan){
- b++;
- }
- a++;
- stan+=24;
- }
- plikwynik<<b<<endl;
- }
- void rekordtemperatury(){
- binardziesietny();
- czwordziesietny();
- osiemdziesietny();
- fstream plik,plik2,plik3,plikwynik;
- plik.open("test1.txt",ios::in);
- plik2.open("test2.txt",ios::in);
- plik3.open("test3.txt",ios::in);
- plikwynik.open("wyniktrzy.txt",ios::out);
- int czas,temperatura,czas2,temperatura2,czas3,temperatura3;
- int a=NULL,b=NULL, c=NULL;
- int a1=0;
- for(int i=0;i<1095;i++)
- { bool czyrekordowy=false;
- plik >> czas >> temperatura ;
- plik2 >> czas2 >> temperatura2 ;
- plik3 >> czas3 >> temperatura3 ;
- if(a< temperatura ) {a = temperatura ; czyrekordowy=true; }
- if(b< temperatura2 ) {b = temperatura2 ; czyrekordowy=true; }
- if(c< temperatura3 ) {c = temperatura3 ; czyrekordowy=true; }
- if (czyrekordowy){a1++;}
- }
- plikwynik<<a1<<endl;
- }https://steamcommunity.com/tradeoffer/new/?partner=349493824&token=8d66dfAp
- void maxskok(){
- binardziesietny();
- fstream plik,plik2;
- plik.open("test1.txt",ios::in);
- plik2.open("wynikcztery.txt",ios::out);
- int godzina, temperatura;
- vector <int> temperatur;
- float r;
- int dif;
- float maxsk;
- int maxjump;
- while(plik >>godzina >> temperatura){
- temperatur.push_back(temperatura);}
- for (int i=0;i<1095;i++){
- for(int j=0;j<1095;j++){ // lub int j=i+1;j<1095;j++){
- dif=temperatur[i]-temperatur[j];
- r=pow(dif,2);
- dif=abs(i-j);
- maxsk=ceil(r/dif);
- if(maxsk>maxjump){maxjump=maxsk;}
- }
- }
- plik2 << maxjump<<endl;
- }
- int main()
- {
- for(;;){
- int menu;
- cout<< "1-pierwsza stacja"<<endl;
- cout<< " 2-druga stacja"<<endl;
- cout<<" 3-trzecia stacja "<<endl;
- cout << "123-wszystkie 3"<<endl;
- cout << "podaj zmienna a" <<endl;
- cin>>menu;
- switch (menu){
- case 1:
- binardziesietny();
- system("cls");
- break;
- case 2:
- czwordziesietny();
- system("cls");
- break;
- case 3:
- osiemdziesietny();
- system("cls");
- break;
- case 4:
- najnizszatemp();
- system("cls");
- break;
- case 5:
- zamiana();
- system("cls");
- break;
- case 6:
- czas();
- system("cls");
- break;
- case 7:
- rekordtemperatury();
- system("cls");
- break;
- case 8:
- maxskok();
- system("cls");
- break;
- case 123:
- binardziesietny();
- czwordziesietny();
- osiemdziesietny();
- system("cls");
- case 1337:
- zamiana();
- czas();
- rekordtemperatury();
- maxskok();
- break;
- case 0:
- return 0;
- break;
- }}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement