Facebook
From Abrupt Camel, 5 Years ago, written in Plain Text.
This paste is a reply to Untitled from Scorching Tortoise - go back
Embed
Viewing differences between Untitled and Re: Untitled
#include 
#include
#include
#include
#include 
using namespace std;
void lokujPamiec1D(int *&tab,int n)
{
    tab=new int[n];
}
void lokujPamiec2D(int **&tab,int w,int k)
{
    int i;
    tab=new int*[w];
    for(i=0; i     {
        tab[i]=new int[k];
    }
}
void wypelnijTablice1D(int *tab,int n,int a,int b)
{
    int i;
    for(i=0; i     {
        tab[i]=rand()%(b-a+1)+a;
    }
}
void wypelnijTablice2D(int **tab,int w,int k, int a, int b)
{
    int i,j;
    for(i=0; i     {
        for(j=0; j         {
            tab[i][j]=rand()%(b-a+1)+a;
        }
    }
}
void usunTablice1D(int *&tab,int n)
{
    delete []tab;
}
void usunTablice2D(int **&tab,int w,int k)
{
    int i;
    for(i=0; i     {
        delete []tab[i];
    }
    delete []tab;
}
void wyswietlTablice1D(int *tab,int n)
{
    int i;
    for(i=0; i     {
        cout << tab[i] << endl;
    }
}
void wyswietlTablice2D(int **tab,int w,int k)
{
    int i,j;
    for(i=0; i     {
        for(j=0; i         {
            cout << tab[i][j] << endl;
        }
    }
}
void sortowanieBabelkowe(int 
selectSort(int *tab, int rozmiar, int tryb)
{
    if(tryb==1) //rosnaco//
    {

        for(int i=0; i         {
            for(int j=0; j             {
                if(tab[j]>tab[j+1])
                    swap(tab[j],tab[j+1]);
            }
        }
    }
    if(tryb==0)//malejaco//
    {

        for(int i=1; i<=rozmiar-1; i++)
        {
            for(int j=1; j<=rozmiar-1; j++)
            {
                if(tab[j]                     swap(tab[j],tab[j+1]);
            }
        }
    }
}
void sortowaniePrzezWybor(int *tab, int n, int tryb)
{
    if(tryb==1) //rosnaco//
    {
    
rozmiar){
    
for(int i= 0; i     {
i         int pmin; //wartosc od ktorego sortuje//
        pmin = i;
        for(int j = i + 1; j < n; rozmiar; j++) //petla do szukania najmniejszego//
            if(tab[j] < tab[pmin])    tab[pmin]){    //tab pmin, el pierwszy z nieposortowanego//
            {
nieposortowanego//
                pmin = j;
                swap(tab[pmin], tab[i]);\n            }
                if (i != pmin) {
                swap(tab[i], tab[pmin]);
            }
    }
    }\n    if(tryb==0) //malejaco//\n    {\n        for(int i= 0; i tab[pmin])    //tab pmin, el pierwszy z nieposortowanego//\n            {\n                pmin = j;\n                swap(tab[pmin], tab[i]);\n            }\n    }\n    }\n}\n\nvoid sortowaniePrzezWstawianie(int *tab,int n,int tryb)\n{\n    if(tryb==1) //rosnaco//\n    {\n    int pom, j;\n     for(int i=1; i=0 && tab[j]>pom)\n             {\n                        swap(tab[j+1],tab[j]); //przesuwanie elementów\n                        j--;\n             }\n\n     }\n    }\n    if(tryb==0) //malejaco//\n    {\n        int pom, j;\n     for(int i=1; i=0 && tab[j]}
void sortowanieBabelkowe2D(int **tab,int w, int k,int tryb)
{
    if(tryb==1){
                for(int j=0;j                       {

                        for(int i=0;i                      {

                     if(tab[i][j]>tab[i+1][j])
                 swap(tab[i][j],tab[i+1][j]);

                 }
               }
    }
    if(tryb==0)
    {
       for(int j=0;j                       {

                        for(int i=0;i                      {

                     if(tab[i][j]                  swap(tab[i][j],tab[i+1][j]);

                 }
               }
    }

}
void zadanie1()
{
    int *tab;
    int n,a,b,tryb;
    cout << "Podaj rozmiar, zakres wypelniania, i sposob sortowania(1-rosnaco,0-malejaco)" << endl;
    cin >> n >> a >> b >> tryb;
    lokujPamiec1D(tab,n);
    wypelnijTablice1D(tab,n,a,b);
    wyswietlTablice1D(tab,n);
    sortowanieBabelkowe(tab,n,tryb);
    wyswietlTablice1D(tab,n);
    usunTablice1D(tab,n);
}
void zadanie2()
{
    int *tab;
    int n,a,b,tryb;
    cout << "Podaj rozmiar, zakres wypelniania, i sposob sortowania(1-rosnaco,0-malejaco)" << endl;
    cin >> n >> a >> b >> tryb;
    lokujPamiec1D(tab,n);
    wypelnijTablice1D(tab,n,a,b);
    wyswietlTablice1D(tab,n);
    sortowaniePrzezWybor(tab,n,tryb);
    wyswietlTablice1D(tab,n);
    usunTablice1D(tab,n);

}
void zadanie3()
{
    int *tab;
    int n,a,b,tryb;
    cout << "Podaj rozmiar, zakres wypelniania, i sposob sortowania(1-rosnaco,0-malejaco)" << endl;
    cin >> n >> a >> b >> tryb;
    lokujPamiec1D(tab,n);
    wypelnijTablice1D(tab,n,a,b);
    wyswietlTablice1D(tab,n);
    sortowaniePrzezWstawianie(tab,n,tryb);
    wyswietlTablice1D(tab,n);
    usunTablice1D(tab,n);

}
void zadanie4()
{
    int **tab;
    int a,b,tryb,w,k;
    cout << "Podaj rozmiar tablicy dwuwymiarowej, zakres wypelniania, i sposob sortowania(1-rosnaco,0-malejaco)" << endl;
    cin >> w >> k >> a >> b >> tryb;
    lokujPamiec2D(tab,w,k);
    wypelnijTablice2D(tab,w,k,a,b);
    wyswietlTablice2D(tab,w,k);
    sortowanieBabelkowe2D(tab,w,k,tryb);
    wyswietlTablice2D(tab,w,k);
    usunTablice2D(tab,w,k);

}
int main()
{
    srand(time(NULL));
    int menu;
    do
    {
        cout << "Wybierz zadanie:" << endl;
        cin>> menu;
        switch(menu)
        {
        case 1:
            zadanie1();
            break;
        case 2:
            zadanie2();
            break;
        case 3:
            zadanie3();
            break;
        case 4:
            zadanie4();
            break;
        }
    }
    while(menu!=5);
    return 0;
}