Cookies help us deliver our services. By using our services, you agree to our use of cookies.

PrimeriFunkcije


Redakcija dne 15:42, 7. februar 2007 od Simon (Pogovor | prispevki)
(prim) ←Starejša revizija | poglejte trenutno redakcijo (prim) | Novejša revizija→ (prim)

Glavni program: glavni.cpp

// Program prebere 4 števila in izpiše največje izmed dveheh, treheh in stirih
#include <iostream>
using namespace std;


//#include "najvecjeA.h" // izločena komplicirana verzija
#include "najvecjeB.h" // verzija s ponovno uporabo koda

int main()
{
        int a, b, c, d;
        
        // vnos podatkov
        cout << "Vnesi štiri števila: ";
        cin >> a >> b >> c >> d;
        
        // izpis največjih števil
        cout << "Največje izmed prvih dveh števil je: " << najvecje2(a, b) << endl;
        cout << "Največje izmed prvih treh števil je: " << najvecje3(a, b, c) << endl;
        cout << "Največje število je: " << najvecje4(a, b, c, d) << endl;
        
        return 0;
}

Datoteki z različno implementacijo funkcij: najvecjeA.h in najvecjeB.h

#ifndef NAJVECJE234
#define NAJVECJE234
// funkcije, za iskanje največjega števila izmed dveh, treh ali štirih števil

// funkcija za iskanje največjega izmed dveh števil
int najvecje2(int st1, int st2)
{
        if (st1 > st2)
        {
                return st1;
        }
        else
        {
                return st2;
        }
}

// funkcija za iskanje največjega izmed treh števil
int najvecje3(int st1, int st2, int st3)
{
        if (st1 > st2)
        {
                if (st1 > st3)
                {
                        return st1;
                }
                else
                {
                        return st3;
                }
        }
        else // drugo večje od prvega
        {
                if (st2 > st3)
                {
                        return st2;
                }
                else
                {
                        return st3;
                }
        }
}

// funkcija za iskanje največjega izmed štirih števil
int najvecje4(int st1, int st2, int st3, int st4)
{
        int trenutnoNajvecji;
        // poiščemo največjega izmed prvih dveh
        if (st1 > st2)
        {
                trenutnoNajvecji = st1;
        }
        else
        {
                trenutnoNajvecji = st2;
        }
        
        // največjega izmed prvih dveh primerjamo s tretjim
        if (st3 > trenutnoNajvecji)
        {
                trenutnoNajvecji = st3;
        }
        
        // največjega izmed prvih treh primerjamo s četrtim
        if (st4 > trenutnoNajvecji)
        {
                trenutnoNajvecji = st4;
        }
        
        return trenutnoNajvecji;
}

#endif

#ifndef NAJVECJE234
#define NAJVECJE234
// funkcije, za iskanje največjega števila izmed dveh, treh ali štirih števil

// funkcija za iskanje največjega izmed dveh števil
inline int najvecje2(int st1, int st2)
{
        if (st1 > st2)
        {
                return st1;
        }
        else
        {
                return st2;
        }
}

// funkcija za iskanje največjega izmed treh števil
inline int najvecje3(int st1, int st2, int st3)
{
        return najvecje2(najvecje2(st1, st2), st3);
}

// funkcija za iskanje največjega izmed štirih števil
inline int najvecje4(int st1, int st2, int st3, int st4)
{
        return najvecje2(najvecje3(st1, st2, st3), st4);
}

#endif