mali_cox

TP_dove_v1

Mar 29th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.37 KB | None | 0 0
  1. // Odabrani zadaci za samostalni rad
  2.  
  3.  #include <iosteam>
  4.  #include <vector>
  5.  #include <string>
  6.  #include <stdexcept>
  7.  #include <cmath>
  8.  
  9.  using namespace std;
  10.  
  11.  //1 zadatak
  12.  
  13.  void IspisiInt(int broj)
  14.  {
  15.      cout << broj << endl;
  16.  }
  17.  
  18.  //2 zadatak
  19.  
  20.  int ZbirDva(int a, int b)
  21.  {
  22.      return a+b;
  23.  }
  24.  
  25.  //3 zadatak
  26.  
  27.  int Obrnut(int n)
  28.  {
  29.      noviBroj=0;
  30.      while(n!=0)
  31.      {
  32.          noviBroj=(noviBroj*10)+ (n%10);
  33.          n/=10;
  34.      }
  35.      return noviBroj;
  36.  }
  37.  
  38.  //4 zadatak
  39.  
  40.  bool DaLiJePalindrom(int n)
  41.  {
  42.      int temp,nb=0;
  43.      temp=n;
  44.      while(temp > 0){
  45.         nb=nb*10+temp%10;
  46.         temp=temp/10;
  47.      }
  48.      if(nb==n)return true;
  49.      return false;
  50.  }
  51.  
  52.  //5 zadatak
  53.  
  54. int DrugeCifre(int n,int a){ //svakudrugu cifru s desna mjenja sa a
  55.    int br=0;
  56.    int k=1,t=0;
  57.     while(n!=0){
  58.         int cifra=n%10;
  59.         br++;
  60.         if(br%2==0)cifra=a;
  61.         t=t+cifra*k;
  62.         k*=10;
  63.         n/=10;
  64.     }
  65.  
  66.  //6 zadatak
  67.  
  68.  int UvecajParneSmanjiNeparne(int n)
  69.  {
  70.      int noviBroj=0,k=1;
  71.      while(n > 0)
  72.      {
  73.          if((n%10)%2==0)noviBroj=noviBroj+((n%10)+1)*k;
  74.          else if((n%10)%2!=0)noviBroj=noviBroj+((n%10)-1)*k;
  75.          else noviBroj=noviBroj+(n%10)*k;
  76.          k=k*10;
  77.          n/=10;
  78.      }
  79.      return noviBroj;
  80.  }
  81.  
  82.  //7 zadatak
  83.  
  84.  double ZamjeniDecimalni(double n)
  85.  {
  86.      int prvi,drugi,temp=n,br=0;
  87.      while(temp != 0)
  88.      {
  89.          temp/=10;
  90.          br++;
  91.      }
  92.      prvi=n;
  93.      prvi=prvi/pow(10,br);
  94.      drugi=n-prvi;             //GRESKAAA
  95.      double noviBroj=drugi+prvi;
  96.      return noviBroj;
  97.      
  98.  }
  99.  
  100. //8 zadatak
  101. //9 zadatak
  102. //10 zadatak
  103.  
  104.  //11 zadatak
  105.  
  106.  vector<int> Djelioci(int n)
  107.  {
  108.      vector<int>v;
  109.      for(int i(0);i<n;i++)
  110.      {
  111.          if(n%i==0)v.push_back(i);
  112.      }
  113.      return v;
  114.  }
  115.  
  116.  //12 zadatak
  117.  
  118.  bool StepenBrojaDva(vector<int>v)
  119.  {
  120.      for(int i(0);i<v.size();i++)
  121.      {
  122.          if(log(v[i])==2)return true //nije zavrseno
  123.      }
  124.      return false;
  125.  }
  126.  
  127.  //13 zadatak
  128.  
  129.  vector<int> PotpuniKvadrati(int n)
  130.  {
  131.      vector<int>v;
  132.      for(int i=1;i<=n;i++)
  133.      {
  134.          
  135.          if(i==pow(sqrt(i),2))v.push_back(i);
  136.      }
  137.      return v;
  138.  }
  139.  
  140.  //14 zadatak
  141.  
  142.  vector<int> NajmanjeCifre(vector<int>v)
  143.  {
  144.      int temp,cifra,min;
  145.      vector<int>v1;
  146.      for(int i=0;i<v.size();i++)
  147.      {
  148.          temp=v[i];
  149.          min=9;
  150.          while(temp != 0)
  151.          {
  152.              cifra=temp%10;
  153.              if(cifra<min)min=cifra;
  154.              temp/=10;
  155.          }
  156.          v1.push_back(min);
  157.      }
  158.      return v1;
  159.  }
  160.  
  161.  //15 zadatak
  162.  
  163.  vector<int> Petnaesti(vector<int>v, int n) /*Napišite funkciju sa dva parametra, pri čemu je prvi parametar neki vektor cijelih brojeva, a drugi parametar cijeli broj. Funkcija treba da vrati kao rezultat novi vektor čiji su elementi oni elementi vektora zadanog kao prvi parametar čija je suma cifara veda od broja zadanog drugim parametrom. Napišite i mali testni program u kojem dete demonstrirati kako se upotrebljava napisana funkcija*/
  164.  {
  165.      vector<int>rez;
  166.      for(int i=0;i<v.size();i++)
  167.      {
  168.         int suma,temp;
  169.         suma=0;
  170.         temp=v[i];
  171.         while(temp != 0)
  172.         {
  173.             suma+=temp%10;
  174.             temp/=10;
  175.         }
  176.         if(suma>n)rez.push_back(v[i]);
  177.      }
  178.      return rez;
  179.  }
  180.  
  181.  //16 zadatak
  182.  
  183.  double LudaSuma(vector<int>v)
  184.  {
  185.      double rezultat;
  186.      
  187.      return rezultat;
  188.  }
  189.  
  190.  //17 zadatak
  191.  
  192.  void CezarovaSifra(string &s)
  193.  {
  194.      for(int i=0;i<s.length();i++)
  195.      {
  196.          if(s[i]==' ')i++;
  197.          s[i]+=3;
  198.      }
  199.  }
  200.  
  201.  //18 zadatak
  202.  
  203.  void AnalizaBroja(int n, int &BrojCifara, int &BrojParnihCifara, int &RasponCifara)
  204.  {
  205.      int temp=n,max=0,min=9;
  206.      BrojCifara=0;
  207.      BrojParnihCifara=0;
  208.      RasponCifara=0;
  209.      while(temp != 0)
  210.      {
  211.          if((temp%10) % 2 == 0 )BrojParnihCifara++;
  212.          if(temp%10>max)max=temp%10;
  213.          if(temp%10<min)min=temp%10;
  214.          temp/=10;
  215.          BrojCifara++;
  216.      }
  217.      RasponCifara=max-min;
  218.  }
  219.  
  220.  //19 zadatak
  221.  
  222.  int BinToDec(string s)
  223.  {
  224.      for(int i=0;i<s.size();i++)
  225.      {
  226.          if(s[0]=='-')i++;
  227.          if(s[i]<'0' || s[i]>'1')throw"Ovo nije binarni broj";
  228.          
  229.      }
  230.      int decimalni=0;
  231.      int vel=s.size()-1;
  232.      for(int i=0;i<s.size();i++)
  233.      {
  234.          if(s[0]=='-'){
  235.              i++;
  236.              vel--;
  237.              }
  238.          if(s[i]=='0')vel--;
  239.          if(s[i]=='1')
  240.          {
  241.              decimalni+=pow(2,vel);
  242.              vel--;
  243.          }
  244.      }
  245.      return decimalni;
  246.  }
  247.  
  248.  //20 zadatak
  249.  
  250.  void SumeCifaraPoIndexu(int n, int &s_parnih, int &s_neparnih)
  251.  {
  252.      if(n<0)
  253.          cout << "Broj nije prirodan.";
  254.      if(n<9 && n>0)
  255.      {
  256.          s_parnih=0;
  257.          s_neparnih=n;
  258.      }
  259.      if(n>9){
  260.      while(n != 0)
  261.      {
  262.          s_neparnih+=n%10;
  263.          s_parnih+=n%100;
  264.          n/=10;
  265.      }
  266.      }
  267.  }
  268.  
  269.  
  270. //Treba se dodati int main
Advertisement
Add Comment
Please, Sign In to add comment