green39675 green39675 - 3 months ago
601 0

No description

C++

Lab1Grupa2

#include <iostream>
#include <fstream>

using std::cout;

void sortiranje(char niz[20],int vel);

int main()
{
    std::ifstream ulaz;
    char niz[30];
    char temp;
    ulaz.open("znakovi.txt");

    if(ulaz.fail())//provjera jeli datoteka otvorena,  ulaz.fail(); (ako nije otvorena je true)
        return 0;
    if(!(ulaz.is_open()))//alternativa  ulaz.is_open(); (ako je otvorena daje true)
        return 0;

    int ind=0;//index i velicina niza
    while(ulaz>>temp)//
    {
        niz[ind]=temp;
        ind++;
    }

    //ispis prije sortiranja
    cout<<"Ispis prije sortiranja\n";
    for(int i=0;i<ind;i++)
        cout<<niz[i]<<" ";
    cout<<"\n";

    //sortiranje
    sortiranje(niz,ind);

    //ispis nakon sortiranja
    cout<<"\nIspis nakon sortiranja\n";
    for(int i=0;i<ind;i++)
        cout<<niz[i]<<" ";

    ulaz.close();
    return 0;
}

void sortiranje(char niz[30],int vel)
{
    for(int brojac=1;brojac<vel;brojac++)//brojac vanjske petlje na index drugog elementa [1]
    {
        int pomocni=brojac;//deklaracija pomocnog na vrijednost brojaca vanjske petlje
        char temp=niz[brojac];//privremena varijabla
        while(pomocni>0 && temp<niz[pomocni-1])//dva uvijeta zaustavljanja unutarnje petlje
        {
            niz[pomocni]=niz[pomocni-1];//zamjena prethodni se stavlja na slijedeci
            pomocni--;
        }
        niz[pomocni]=temp;//najmanji dolazi na svoje mijesto
        //ispis nakon svake iteracije
        for(int k=0;k<vel;k++)
        {
            cout<<niz[k]<<" ";
        }
        cout<<"\n";
    }
    return;
}